我已经设置了所有我能找到的东西,但仍然从 GitHub 克隆一个存储库挂起配置过程。
我有:
- known_hosts 中的服务器
.ssh/配置
Host github.com ForwardAgent yes StrictHostKeyChecking no
复制私钥
- 公钥在 authorized_keys 中
- 命令以
vagrant
用户身份运行 剧本是:
- name: Checkout from git git: repo=git@github.com:username/repositoryname.git dest=/srv/website
最佳答案
只是为了扩展 tillda 的答案,该配置可以与您的剧本一起放在 ansible.cfg 文件中。例如:
ansible.cfg
[defaults]
transport = ssh
[ssh_connection]
ssh_args = -o ForwardAgent=yes
我想说这样做比设置为环境变量更好,因为将它放在 conf 文件中既更具声明性,也可以最大程度地减少与您一起工作的其他人进行项目所需的步骤.
session 文件: http://docs.ansible.com/intro_configuration.html#the-ansible-configuration-file
示例配置文件: https://raw.github.com/ansible/ansible/devel/examples/ansible.cfg
关于Ansible 中基于 SSH 的 GIT 挂起,即使设置了 ssh-agent 转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427577/