logo

解决 Jenkins 报错 Host key verification failed问题

作者:公子世无双2024.01.18 04:10浏览量:8

简介:Jenkins 在尝试连接 SSH 时遇到 'Host key verification failed' 错误。此问题可能是由于目标服务器的 SSH 公钥未在 Jenkins 中注册导致的。下面将提供解决方案,帮助您解决这个问题。

在使用 Jenkins 进行自动化构建和部署时,可能会遇到一个常见的错误:’Host key verification failed’。这个错误通常发生在 Jenkins 尝试通过 SSH 连接到远程服务器时。这个问题的出现通常是因为 Jenkins 无法验证目标服务器的 SSH 公钥是否正确。
要解决这个问题,可以按照以下步骤进行操作:

  1. 确认目标服务器的 SSH 公钥是否已经注册到 Jenkins 中。如果你在多台服务器之间切换,确保每台服务器的公钥都已正确注册。
  2. 如果目标服务器的公钥尚未注册,可以通过以下命令将其添加到 Jenkins 中:
    在 Jenkins 主页上,选择 ‘Manage Jenkins’ -> ‘Global Tool Configuration’ -> ‘SSH Agent’。在打开的页面中,点击 ‘Add key’ 按钮,然后粘贴目标服务器的公钥。
  3. 如果目标服务器使用了非标准的 SSH 端口号,请确保在 Jenkins 的连接配置中指定了正确的端口号。在 ‘Manage Jenkins’ -> ‘Global Tool Configuration’ -> ‘SSH Agent’ 页面上,找到 ‘SSH Port’ 选项,并确保它设置为正确的端口号。
  4. 检查目标服务器上的 SSH 服务是否正在运行,并确保 Jenkins 有权访问该服务。你可以尝试从 Jenkins 所在的机器上手动通过 SSH 连接到目标服务器,以验证连接是否正常。
  5. 如果以上步骤都没有解决问题,可能是由于目标服务器上的 SSH 公钥发生了变化。在这种情况下,你需要更新目标服务器上的 SSH 公钥,并重新注册到 Jenkins 中。你可以通过以下命令更新公钥:
    在目标服务器上,使用文本编辑器打开 ‘/etc/ssh/ssh_known_hosts’ 文件,找到与 Jenkins 连接配置中相同的服务器主机名或 IP 地址对应的行,并将该行的公钥替换为新的公钥。然后保存文件并关闭编辑器。接下来,在 Jenkins 中重新添加该服务器的 SSH 公钥。
  6. 如果以上步骤都无法解决问题,可能是由于网络问题或防火墙设置导致 Jenkins 无法连接到目标服务器。请检查网络连接和防火墙设置,确保它们允许 Jenkins 通过 SSH 连接到目标服务器。
    通过执行以上步骤,你应该能够解决 Jenkins 报错 ‘Host key verification failed’ 的问题。如果问题仍然存在,请检查 Jenkins 日志以获取更多详细信息,并根据日志中的错误信息进行进一步的排查和解决。

相关文章推荐

发表评论