主机密钥验证失败

时间:2013-09-26 02:33:00

标签: ubuntu ssh host

我正试图通过我的电脑上的Cygwin进入我的UBUNTU。我可以毫不费力地使用WINSCP,但是当我通过命令行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)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
5d:84:de:4e:a8:81:df:22:06:23:98:34:cd:26:f5:1a.
Please contact your system administrator.
Add correct host key in /home/Trevor/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/DIRECTORY
ECDSA host key for HOSTNAME has changed and you have requested strict checking.
Host key verification failed.

所以我查了一下,它说我需要更改位于host key文件夹中的.ssh文件夹中的home。嗯,没有一个,所以我做了一个。再次尝试并得到了同样的错误。

怎么办?

8 个答案:

答案 0 :(得分:20)

"主机密钥验证失败"表示远程主机的主机密钥已更改。

Ssh将远程主机的主机密钥存储在〜/ .ssh / known_hosts中。您可以手动编辑该文本文件并删除旧密钥(您可以在错误消息中看到行号),或使用

ssh-keygen -R hostname

答案 1 :(得分:5)

 rm -f /home/user/.ssh/known_hosts

或删除known_hosts

中的违规密钥
ssh-keygen -R hostname

答案 2 :(得分:1)

主要发生在远程服务器密钥更改且系统具有旧密钥时。因此,我们需要在下面的文件中清除远程服务器的密钥。

  1. ]#vi〜/ .ssh / known_hosts
  2. 删除导致问题的文件中的主机项。如下所示

1x.xx.xx.xx ecdsa-sha2-nistp256 AAAAE2VjZHNhLX否

3。保存文件,然后尝试重新登录。

答案 3 :(得分:0)

所以看起来你的ubuntu主机密钥已经改变,因为你上次从Cygwin ssh到它。

该消息已告诉您该怎么做,

cd /home/Trevor.ssh 
open know_hosts file and delete the old key of your ubunto box 
once the key is removed, ssh to your ubuntu box again

答案 4 :(得分:0)

这通常意味着您的远程主机的主机密钥已更改。它可以用来避免中间人的攻击,并使主机安全。您只需使用以下命令即可将其删除:

ssh-keygen -R hostname | ip address 

ssh-keygen -f "/root/.ssh/known_hosts" -R ip address

答案 5 :(得分:0)

  1. 转到known_hosts vim ~/.ssh/known_hosts
  2. 删除引起此问题的主机名HOSTNAME

答案 6 :(得分:0)

在Mac和Ubuntu 16.04中进行了测试

HOSTNAME的ECDSA主机密钥已更改,您已请求严格检查。 主机密钥验证失败。表示,

如果收到此错误消息,则说明您尝试连接的主机之前已连接,并且现在EDSA密钥可能不匹配。当您在DHCP网络中并且在不同的时间实例为多个设备分配了相同的IP时,通常会发生这种情况。结果是密钥不匹配,即该主机名的EDSA密钥被捕获到系统中。

要解决此问题,复杂的方法是从

中删除条目

vim〜/ .ssh / known_host(您可以使用任何东西代替vim)

删除整行,其中包含主机名,这是您的痛点

主机名(例如192.168.1.123)EDSA_key

它应该工作而无需重新启动系统。

不推荐

否则,解决困难的方法是删除文件的所有内容(截断),永远不要完全删除文件,这可能会导致其他问题,并且也不要修改文件的权限。

答案 7 :(得分:-1)

使用删除ssh缓存

ssh-keygen -R ipAdress

例如:ssh-keygen -R 43.224.158.621

希望这会起作用