【发布时间】:2014-03-22 11:00:29
【问题描述】:
我正在与 vagrant 和 ansible 一起工作。我想自动化 ansible (You can check my repo here) 的 部署 角色。 为此,我正在尝试将我的本地 ssh 密钥部署到我的 VPS 和我的 vagrant guest 机器中(我正在尝试 SSH 代理转发)。
目标
使用 ansible 使用 git 自动化部署过程。我已经这样做了:
---
- name: read-write git checkout from github
git: repo={{ repository }} dest=/home/site
地点:
---
# Variables here are applicable to all host groups
repository: git@bitbucket.org:dgnest/dgnest.git
问题
当我这样做时:“vagrant provision”,控制台停在这里:
TASK: [deployment | read-write git checkout from github] **********************
那是因为我没有设置 ssh 密钥。
我试过了
我想使用 ansible 的 git 模块的 key_file 选项。但它也失败了。
---
- name: read-write git checkout from github
git: repo={{ repository }} dest=/home/site key_file=/home/oscar/.ssh/id_rsa.pub
另一种选择是将我的 ~/ssh/id_rsa.pub 复制到每个 VPS 和 vagrant 中,但在这种情况下我的问题是处理所有不同的用户。 Vagrant 使用“vagrant”用户,而我的 VPS 使用另一个用户,所以我必须将我的 ssh 本地密钥放入每个用户中?
希望你能帮助我。谢谢。
更新:
我刚刚自动化了@leucos 的回答(谢谢)。复制私钥和公钥 rsa 密钥。我与实施分享 this link。
【问题讨论】:
-
复制 RSA 私钥确实是个坏主意。共享私钥真的是个坏主意。例如,您是否信任您与他们共享的团队成员(以及所有其他有权访问远程服务器的员工)访问您的私人存储库?如果不是 - 请保留您的私钥 private。
标签: git deployment vagrant ssh-keys ansible