提问者:小点点

无法通过 SSH 连接到 AWS EC2 实例


我无法通过 SSH 连接到我的 EC2 实例 - 我收到超时错误。我检查了安全组,以确保 SSH 流量正常工作。我检查了路由表,并确保它们已连接到互联网网关。一小时前,我能够通过SSH连接到实例中,但现在已经没有了。我正在通过腻子连接。在使用ec2-user@domain之前,我遇到了相同的超时连接问题,我只需在Putty的主机名字段中输入IP地址即可解决。在这一点上,我能够毫无问题地连接。然后,我创建了另一个 EC2 实例,现在我无法连接到任一实例。我在我的 Putty 配置中正确引用了 .ppk 文件。我尝试使用Mac连接并在那里复制.pem文件。还有什么我可以检查的吗?另外,为什么我不能像指示指示的那样在腻子的连接字段中键入ec2-user@domain。我的 AWS 环境是否有问题?


共3个答案

匿名用户

诊断SSH问题的最佳方法是在同一个子网中使用同一个安全组启动一个新实例。如果这有效,那么问题与原始实例有关。

您收到超时错误这一事实表明您的SSH客户端无法访问该实例。实例并没有拒绝连接(例如由于密钥对),事实是无法访问实例。

要检查的事项:

  • 确认公共 IP 地址仍然是最新的(它可以在实例停止和启动时更改它)
  • 确认实例位于公有子网中,这意味着具有指向互联网网关的路由表的子网
  • 确认安全组允许来自您的 IP 地址的入站 SSH 流量(端口 22)(甚至 0.0.0.0/0 用于测试目的)
  • 将 NCL 保留为默认设置,除非您深入了解它们
  • 确保该实例是 Linux 实例(视窗未启用固态混合网络)
  • 尝试从其他网络(例如家庭,办公室,通过手机系留),因为某些公司网络会阻止SSH连接

作为另一个测试,您可能需要临时创建另一个VPC。使用VPC向导创建只有一个公用子网的VPC。启动一个实例并确认您能够通过SSH进入该实例。

匿名用户

此问题是帐户问题。我重新激活了我的旧帐户,但不知怎么的,它仍然在AWS中标记为“孤立”。我可以访问AWS控制台,但无法通过SSH访问任何内容。作为一个用户,你自己是无法看到这一点的。我不得不在AWS开发者论坛上发帖,在那里,一位AWS开发者能够看到我的账户被“隔离”,并代表我提交了一张罚单。现在,我可以通过SSH连接到EC2实例,没有任何问题。

匿名用户

斯宾塞的回答为我解决了这个问题。看起来就是这样,但有一个小小的更正:您需要编辑网络ACL上的出站规则。

我从头开始做的事情:

  • 创建VPC
  • 在该VPC中创建子网
  • 启动一个EC2实例
  • 关注:此链接,添加他们指定的所有内容
  • 更改Network ACL出站规则以包含Spencer指定的端口范围:1024-65535
  • 完成,现在可以连接了

请注意,如果不允许ICMP流量,您将无法ping实例。