【发布时间】:2015-01-09 22:24:36
【问题描述】:
我正在尝试使用 Vagrant 和 Ansible 创建开发人员 VM 环境。我能够很好地连接并安装软件包。我的问题似乎与 ssh、git 和密钥文件有关。不幸的是,我的设置相当复杂,我没有能力改变它。 git 存储库托管在一台机器上,我必须通过带有密钥文件的堡垒主机连接到该机器。
我的本地 ssh 配置文件包含所有必要的代理命令来完成这项工作。我有 SSH 转发我的密钥,因为我可以手动登录虚拟机并使用 git。通过 Ansible,它似乎不知道应该通过 ssh 配置文件设置的主机。
我没有将 git clone 作为 sudo 运行,而是使用了 accept_hostkey。它似乎根本不知道存储库主机。
我也尝试使用以下命令添加 ansible.cfg:
ssh_args = -o ControlPersist=15m -F ssh.config -q
ssh.config 文件与我的 ~/.ssh/config 相同,它在手动执行 git 克隆时恰好可以工作。我也以 vagrant 用户的身份手动执行此操作,并且在我的剧本中将 remote_user 设置为 vagrant。
我只是对它应该如何工作感到困惑。
【问题讨论】: