在Ansible中,Git克隆卡住了

6

我的尝试:

1)将私钥从本地机器复制到服务器并使用它进行克隆:

- name: clone repo
  sudo: yes
  git: repo={{ app_repo }} dest={{ app_repo_dir }} accept_hostkey=true key_file={{ssh_key}} version=master force=yes

但是它卡住了。据我所知,这个问题是因为密钥有密码短语引起的。
2)在ansible.cfg中使用ForwardAgent:
[ssh_connection]
ssh_args = -o ForwardAgent=yes

但是,我使用的连接服务器的 ssh 端口不是标准的 22 端口。

我该如何为 Ansible 中的 git clone 任务设置密钥密码?或者有没有其他方法可以使用 Ansible 克隆远程仓库?

P.S. 是的,我可以尝试从密钥中删除密码。但是安全方面考虑...


1
好的,Ansible与口令UU无关,没有希望---> https://dev59.com/cX3aa4cB1Zd3GeqPbE38 - Raul Hugo
1个回答

1
  1. ~/.ssh/config:

    主机名 canada.host.xxxx

    主机地址 canada.host.xxxx

    端口号 2233

    用户名 guest

    身份验证文件 ~/.ssh/id_rsa.special

将本地机器的私钥复制到服务器并使用它进行克隆:

  • 名称:克隆 repo sudo:yes git:repo={{app_repo}} dest={{app_repo_dir}} accept_hostkey=true key_file={{ssh_key}}

这是将本地机器的私钥复制到服务器并使用它进行克隆

- name: Put artifact to target
  sudo: yes
  copy: src="{{ app_repo_dir }}" dest="{{ app_repo_dir }}"

- name: clone repo
  sudo: yes
  git: repo={{ app_repo }} dest={{ app_repo_dir }} accept_hostkey=true key_file={{ssh_key}} version=master force=yes

PS:也许你应该使用local_action

ansible-playbook -vvv将向您显示问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接