背景:我正在尝试编写一个使用 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 进入环境。
为什么 ssh-add 似乎添加了错误的密钥(我似乎在系统的其他任何地方都找不到)?