我刚刚开始使用亚马逊EC2,我在windows上通过cygwin使用它来运行ubuntu。我最近尝试通过ssh登录到我的EC2实例,并收到此错误消息
@ 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...
Host key verification failed.
这是什么,以及如何解决这个问题?
答案 0 :(得分:4)
这意味着SSH服务器提供的RSA密钥与您首次连接到此IP地址上的服务器时的密钥不同。如果您更改了在此IP地址/主机名上运行的实例,则应该这样做。
如果这是一个完全意外的错误消息,这是为了您自己的保护。有可能有人做恶意事情并监控连接。
如果要覆盖它,请转到C:\Users\[your username]\.ssh\known_hosts
并删除以SSH服务器的主机名和/或IP地址开头的有问题的行。然后重新连接到服务器。
答案 1 :(得分:3)
只需使用
ssh-keygen -R hostname
示例ssh-keygen -R 168.9.9.2
这将从known_hosts
更新主机的违规行为答案 2 :(得分:0)
当您连接到ssh服务器时,您的ssh客户端会将可信主机列表保存为IP和ssh服务器指纹的键值对。使用ec2时,您经常会将多个服务器实例重复使用相同的IP,从而导致冲突。
如果您已使用此IP连接到较早的ec2实例,现在连接到具有相同IP的新实例,您的计算机将抱怨“主机验证失败”,因为其先前存储的对不再匹配新对。 / p>
错误消息告诉您如何修复它:
例如: 在/home/ubuntu/.ssh/known_hosts:1中攻击RSA密钥 删除:ssh-keygen -f“/home/ubuntu/.ssh/known_hosts”-R
只需打开/home/ubuntu/.ssh/known_hosts并删除第1行(由“:1”表示)。
您现在可以连接并接收新的主机验证