ssh-add添加了错误的密钥

时间:2014-08-27 17:59:39

标签: ubuntu ssh jenkins capistrano ssh-agent

背景:我正在尝试编写一个使用capistrano部署rails应用程序的jenkins作业。作为其中的一部分,我需要将已复制的ssh密钥添加到该环境中的jenkins用户的.ssh文件夹中。我已正确设置该文件夹中id_rsa和id_rsa.pub的所有者,组和权限。

我收到错误Net::SSH::AuthenticationFailed: Authentication failed for user deploy@[server]。经过调查,当我以jenkins用户运行以下命令时会发生以下情况:

ssh-add ~/.ssh/id_rsa

到目前为止一切顺利。

但〜/ .ssh / id_rsa.pub中的公钥不是ssh-add -L

返回的公钥

如果我在本地计算机上执行相同的步骤,则会添加正确的密钥,然后我就可以进入环境。

为什么ssh-add似乎添加了错误的密钥(我似乎无法在系统的任何其他位置找到它)?

1 个答案:

答案 0 :(得分:0)

当您在jenkins服务器上运行ssh-add -L时,您可能会看到通过“ssh代理转发”机制从您自己的计算机转发的公钥。

尝试ssh使用-a标记的jenkins服务器禁用ssh代理转发:

ssh -a <jenkins_server>