gpt4 book ai didi

git - 使用ansible自动使用SSH本地 key 进行git部署

转载 作者:IT王子 更新时间:2023-10-29 01:00:53 27 4
gpt4 key购买 nike

我正在使用 vagrant 和 ansible。我想自动化 ansible ( You can check my repo here ) 的部署角色。为此,我正在尝试将我的本地 ssh key 部署到我的 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 key 。

我试过了

我想使用 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 本地 key 放入这些用户中的每一个?

希望你能帮助我。谢谢。

更新:

我刚刚自动化了@leucos 的回答(谢谢)。复制私有(private)和公共(public) rsa key 。我分享 this link 与实现。

最佳答案

不必将本地 SSH key 复制到远程服务器。相反,您只需在运行部署脚本的目录中创建名为 ansible.cfg 的文件,然后进行以下设置:

[ssh_connection]
ssh_args = -o ForwardAgent=yes

就是这样,现在您的本地身份已转发到您使用 Ansible 管理的远程服务器。

关于git - 使用ansible自动使用SSH本地 key 进行git部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925808/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com