无法通过SSH进入AWS EC2实例:操作超时

时间:2020-03-24 14:39:39

标签: amazon-web-services amazon-ec2 ssh timeout

请帮助!我花了几天的时间尝试进入我的EC2实例。

在最初的24个小时左右,我就可以这样做。然后,当我向实例添加依赖项时,我就启动了。现在,我无法恢复登录。有一次,我的公共DNS发生了变化,但我已经对此做出了解释。

我的安全组,VPC,Internet网关,路由表,子网,防火墙等似乎也都井井有条。

这里是什么问题?请指教!

1 个答案:

答案 0 :(得分:0)

测试与SSH的连接

  1. 在目标EC2的同一子网中创建另一个EC2实例。
    • 确保出口规则允许所有出站并入站到端口22。
    • 将SSH私钥复制到〜/ .ssh /,并确保删除组/其他读写权限。
  2. 如果未安装在新的EC2中,请安装telnet或nc。
  3. 测试新EC2与目标EC2的连接性。
    telnet ${TARGET_HOST_IP} 22

如果这可行并且您可以连接,则SSH服务器已启动并正在运行。如果没有,则SSH服务器未运行,或者端口22未打开。

如果SSH服务器由于某种原因而关闭,则可能有一些方法可以尝试修复。

有关其他选项的信息,请参见User is reporting that they've unable to SSH into an EC2 instance in AWS? ,例如,将根EBS卷安装到另一个EC2,或使用USEDATA重新配置。

从EC2控制台登录到EC2

如果可以登录,请确保SSH服务器已启动并正在运行。然后确保〜/ .ssh / authorized_key具有公共密钥。验证/ var / log / auth或/ var / log / security,以验证如果尝试从外部SSH进入EC2,是否拒绝登录。

克隆以进行调查或替换

如果可以,请关闭EC2实例,为根卷制作一个ELB快照,然后将其安装到您可以SSH插入的另一个EC2中,并检查dmesg,/ var / log文件中是否有任何可能阻止SSH连接的错误。验证ssh服务器配置,〜/ .ssh /文件。

或者只是将所需的内容从ELB快照复制到新的EC2实例,然后用新实例替换原来的实例。

AWS很清楚,要创建根ELB卷的快照,需要关闭实例。否则,不能保证快照的完整性。


更新

要恢复SSH公钥或〜/ .ssh文件夹的权限,请参阅[用户报告他们无法SSH进入AWS中的EC2实例?