使用亚马逊EC2(Ubuntu)出现错误

4

我刚开始使用亚马逊的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.

这是什么,我该如何解决这个问题?
3个回答

4
这意味着SSH服务器提供的RSA密钥与您首次连接到此IP地址的服务器时不同。如果更改了在此IP地址/主机名上运行的实例,则应该预期出现此问题。
如果这是一个完全意外的错误消息,那么这是为了您的保护。有可能有人在进行恶意操作并监视连接。
如果您想覆盖它,请转到C:\Users\[your username]\.ssh\known_hosts并删除以SSH服务器的主机名和/或IP地址开头的有问题的行。然后重新连接到服务器。

谢谢,我尝试了这个方法,但是它告诉我没有这样的文件或目录。 - Omiye Jay Jay
尝试在Windows资源管理器中查找%USERPROFILE%\.ssh\known_hostsknown_hosts是一个文件),除非您在cygwin中对主目录进行了非标准操作。 - Steven V

3

只需使用

ssh-keygen -R 主机名

例如:ssh-keygen -R 168.9.9.2

这将从known_hosts中更新您的主机信息。


0

当您连接到ssh服务器时,您的ssh客户端会将可信主机列表保留为IP和ssh服务器指纹的键值对。使用ec2时,您经常会重复使用相同的IP与多个服务器实例发生冲突。

如果您以前使用此IP连接到过早期的ec2实例,并且现在连接到具有相同IP的新实例,则计算机将抱怨“主机验证失败”,因为其先前存储的配对不再匹配新配对。

错误消息告诉您如何修复它:

例如: /home/ubuntu/.ssh/known_hosts中的冒犯RSA密钥:1 使用以下命令删除:ssh-keygen -f“/home/ubuntu/.ssh/known_hosts”-R

只需打开/home/ubuntu/.ssh/known_hosts并删除第1行(如“:1”所示)。

现在,您可以连接并接收新的主机验证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接