复用弹性 IP 时 AWS 实例 SSH 连接问题

AWS Instance SSH Connection trouble occurs when you reusing elastic IP

重建

  1. 创建实例

  2. 为您创建的实例分配并关联一个新的弹性 IP

  3. 通过寻址您在第 2 步中与您的实例相关联的弹性 IP,通过 ssh 连接到一个实例,以查看您是否已建立连接,没有任何问题

    $ ssh -i "YouKey.pem" openvpnas@192.168.0.1

  4. 关闭与您的实例的连接

  5. 终止您的实例

  6. 创建具有相同堆栈和配置的新实例

  7. 关联您在步骤 2 中创建的弹性 IP

  8. 通过寻址您在步骤 7 中与新实例相关联的弹性 IP,尝试通过 ssh 连接您在步骤 6 中创建的实例

  9. 您将看到主机密钥验证失败,例如:

    $ ssh -i "YourKey.pem" openvpnas@192.168.0.1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @ 警告:远程主机标识已更改! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ 有可能有人在做坏事! 现在可能有人正在窃听您(中间​​人攻击)! 也可能刚刚更改了主机密钥。 远程主机发送的 RSA 密钥的指纹是 ff:01:ff:01:ff:01:ff:01:ff:01:ff:01:ff:01:ff:01。 请联系您的系统管理员。 在 'Path-To-Your-Host-Key'/known_hosts 中添加正确的主机密钥以消除此消息。 'Path-To-Your-Host-Key'/known_hosts:14 中的违规 RSA 密钥 192.168.0.1 的 RSA 主机密钥已更改,您已要求严格检查。 主机密钥验证失败。

*FYI: Whosebug I suppose to post this on server fault as you instructed but I'll leave it as is since it's been a while and it seems people have access to this post. I thought this might be a good example of don't dos??

原因 此问题是由与您的旧实例关联的弹性 IP 冲突引起的。 在您的 known_hosts 文件中,您的主机地址已与主机的指纹相关联。 您的客户拒绝了您的请求,因为您的新主机为您的客户提供了新指纹。

解决方案 有几种方法可以解决此问题并与您的实例建立连接,如下所示: A. 分配一个新的弹性 IP 并将其关联到您的新实例 要么 B. 从 'known_hosts' 文件中删除旧的主机密钥 192.168.0.1 ssh-rsa "###################### 你的很长(1024 位或更多)的 RSA 密钥字符串在这里 ######## ##############

跟进 如果您遇到了这个问题并以本文结尾,那么您刚刚了解了如何通过 Mac OS X 终端对您的 ssh 客户端和您的实例进行身份验证。 当你解决了这个问题并通过 SSH 建立了良好的连接后,你就明白警告的意思了 "Warning: Permanently added '192.168.0.1' (RSA) to the list of known hosts."

$ ssh -i "YourKey.pem" openvpnas@192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
RSA key fingerprint is ff:01:ff:01:ff:01:ff:01:ff:01:ff:01:ff:01:ff:01.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.1' (RSA) to the list of known hosts.
Welcome to OpenVPN Access Server Appliance 2.0.25


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
..