jenkins - 将 vagrant 上的 ssh-agent 转发给 vagrant 以外的其他用户

标签 jenkins ssh vagrant

我目前正在为我公司在 vagrant 中的测试环境设置一个虚拟机。当然,这台机器需要能够从我们的 github 存储库中提取。这应该使用主机的 ssh key 来实现。我已经设置了

config.ssh.forward_agent = true
在我的 vagrantfile 中,连接到 github 在 vagrant 用户中可以正常工作。然而,由于那台机器需要运行 jenkins,这也需要为 jenkins 用户工作。运行ssh-add因为 Jenkins 没有添加主机的 key 。
我在 stackoverflow 和 super 用户上发现了几个半相关的讨论,但似乎没有一个解决甚至解决这个问题。我不知道如何使这项工作,或者这在 vagrant 中是否可能,所以我很感激任何指示。

最佳答案

由于您没有包含任何确切的错误以及您尝试过的内容,
假设您在虚拟机上,并且想要 git pull来自远程git repo你在虚拟机上还有一个 ssh 私钥,它被授权从 git repo 中提取。通过 ssh:
在 VM 的 cli 上试试这个:

git config core.sshCommand 'ssh -i /root/.ssh/git_private.key -F /dev/null' && ssh-agent sh -c 'ssh-add /root/.ssh/git_private.key; git pull'
当然,请引用您将用于对 git repo 进行身份验证的私有(private) ssh key 的正确路径

关于jenkins - 将 vagrant 上的 ssh-agent 转发给 vagrant 以外的其他用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62536907/

相关文章:

java - 无法替换批处理文件中的参数值 - PostBuildScript 插件 Jenkins

c++ - 远程运行 C++ 程序;加载共享库时出错

vagrant - 执行 `VBoxManage` 时出错(vagrant/virtualbox)

windows - 如何在 Windows 上的 Vagrant 中使用 rsync 共享文件夹?

authentication - 如何在 Jenkins 中使用 Github 个人访问 token

Windows systemprofile 目录根据用户显示不同

jenkins - 如何在 Jenkins 工作流(管道)插件中执行作业 dsl 脚本

java - 在 ssh 中执行命令序列

ssh - Capifony 部署不能 "git clone"

windows - 测试厨房登录命令失败