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.

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

4

3 回答 3

4

这意味着 SSH 服务器提供的 RSA 密钥与您第一次连接到该 IP 地址上的服务器时不同。如果您更改了在此 IP 地址/主机名上运行的实例,这应该是意料之中的。

如果这是一个完全意外的错误消息,这是为了保护您自己。有人可能会做一些恶意的事情并监视连接。

如果要覆盖它,请转到C:\Users\[your username]\.ssh\known_hosts并删除以 SSH 服务器的主机名和/或 IP 地址开头的违规行。然后重新连接到服务器。

于 2013-07-08T14:00:33.047 回答
3

只需使用

ssh-keygen -R hostname

例如 ssh-keygen -R 168.9.9.2

这将从 known_hosts 更新您的主机的违规行为

于 2014-04-24T09:32:24.557 回答
0

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

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

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

例如: /home/ubuntu/.ssh/known_hosts:1 中的违规 RSA 密钥删除: ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R

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

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

于 2018-02-02T09:00:02.153 回答