Jenkins ssh:恢复已删除的ssh已知主机还是重新创建它?

时间:2019-01-07 10:14:25

标签: jenkins ssh

最近我在从Jenkins管道到另一台远程服务器执行ssh时遇到错误。我忘了保存所有日志,但这是其中的一部分

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 
Someone could be eavesdropping on you right now (man-in-the-middle attack)!

在错误日志中,建议您运行此命令来对其进行修复

sudo ssh-keygen -f "/var/lib/jenkins/.ssh/known_hosts" -R "<<remote ssh ip>>" 所以我跑了。

以前,某些远程ssh命令会在返回错误之前运行。 但是现在看来根本无法连接到远程服务器,远程ssh命令从一开始就失败了。

Failed to add the host to the list of known hosts (/var/lib/jenkins/.ssh/known_hosts).

How can I get rid of " WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"起,我尝试运行ssh-keygen -R <<remote ssh ip>>,但错误仍然出现。

如何恢复已删除的行?或重新创建一个?

1 个答案:

答案 0 :(得分:0)

首先,您必须先了解该消息的含义,然后再“摆脱它”。

该消息表示目标服务器已更改其身份,或者某人正在像您这样入侵中间人,而您尝试访问的服务器不是您认为的服务器。

因此,首先您必须确保没有发生中间人入侵。 然后,进入known_hosts文件,并删除与要连接的服务器所在的行。

保存后,系统会询问您是否要信任服务器,而不仅仅是信任与未知主机的连接。