【发布时间】:2015-03-26 12:08:17
【问题描述】:
很抱歉不得不问这个问题,但我觉得到目前为止我已经尝试了所有关于 SO 的答案,但没有运气。
我有我的本地机器和我的远程服务器。 Jenkins 已在我的服务器上启动并运行。
如果我打开终端并执行scp /path/to/file user@server:/path/to/wherever 之类的操作,那么我的 ssh 无需密码即可正常工作
如果我在 Jenkins 作业中运行此命令,我会得到“Host Key Verification Failed”
所以我知道我的 SSH 按我想要的方式正常工作,但为什么我不能让 Jenkins 使用这个 SSH 密钥?
有趣的是,当我第一次设置 Jenkins 和密钥时它确实工作正常,然后我想我重新启动了本地机器,或者重新启动了 Jenkins,然后它就停止了工作。很难说到底是什么原因造成的。
我还尝试了几个关于 ssh-agent 和 ssh-add 的选项,但这些选项似乎不起作用。
我验证了本地计算机 .pub 位于服务器上的 /user/.ssh 文件夹中,并且也在授权密钥文件中。该文件夹归用户所有。
任何想法将不胜感激,我可以提供有关我的问题的更多信息。谢谢!
更新:
根据 Kensters 的建议,我做了 su - jenkins,然后是 ssh server,它要求我添加到已知主机。所以我认为这是朝着正确方向迈出的一步。但之后同样的问题依然存在。
在使用我的myUsername 帐户时,我可以在没有密码的情况下使用ssh server 之前没有注意到的事情。但是如果我切换到jenkins 用户,那么当我执行ssh server 时它会要求我输入密码。
我也按照建议尝试了ssh-keygen -R server,但无济于事。
【问题讨论】: