为什么詹金斯(Jenkins)在SSH主机中说密钥与先前为此主机看到的密钥相匹配。连接将被允许。错误:服务器拒绝了1个私钥

时间:2019-05-31 12:26:51

标签: jenkins

我正在尝试使用SSh连接到Windows代理(通过SSH启动代理) 詹金斯大师(Linux) 日志: [SSH]打开与192.168.0.122:22的SSH连接。 [SSH] SSH主机密钥与该主机先前看到的密钥相匹配。连接将被允许。 错误:服务器拒绝了my_bot(**********)的1个私钥  [SSH]身份验证失败。 验证失败。 启动失败-清理连接 [SSH]连接已关闭。 我试图将密钥添加到authorized_keys ..但这没有帮助

1 个答案:

答案 0 :(得分:0)

当ssh说“ SSH主机密钥”时,表示已知主机中的密钥。 检查.ssh / known_hosts以查看该密钥。 尽管“将允许连接”表示这对您来说不是问题。 因此,请忽略错误消息的那一部分。

您真正的问题是“错误:服务器拒绝了1个私钥” ...

密钥交换好了吗? 私钥必须位于詹金斯手中。还要检查文件权限。 公钥必须在服务器端。可能是.ssh / authorized_keys。还要检查文件权限。如果对.ssh或其中包含的文件的权限过于开放,则Ssh将不允许使用密钥。

需要更多信息来帮助解决该问题:

  1. 在您的问题中,请显示您使用的ssh命令-完整命令-您是否使用-i参数指定密钥?

  2. 可以从jenkins命令行使用相同的ssh命令ssh到主机吗?

  3. 对jenkins home .ssh目录和服务器端.ssh目录执行ls -al检查权限。

  4. 要获取更多详细/调试信息,请在您的ssh命令中添加-v或-vv或-vvv。 如果可能,还请查看服务器端的ssh日志。

  5. 在您的问题中,您可以整理日志消息。

在此问题上看到相同的错误,我可以看到它们在dockerfile中执行chown 744 .ssh / authorized_keys,这是为authorized_keys文件设置权限的错误方法。 https://superuser.com/questions/1403715/why-i-am-getting-error-server-rejected-the-1-private-key-error-on-setting-up-s/1443503#1443503