无法通过SSH进入AWS EC2实例

时间:2019-03-17 21:19:30

标签: amazon-web-services amazon-ec2

我无法通过SSH进入我的EC2实例-我收到超时错误。我检查了安全组,以确保SSH通信正常。我检查了路由表,并确保它们已连接到Internet网关。我仅在一个小时前就可以通过SSH进入实例,但现在不再。我正在通过腻子进行连接。在使用ec2-user @ domain之前,我遇到了相同的超时问题,我可以通过在腻子的主机名字段中输入IP地址来解决此问题。那时,我可以毫无问题地进行连接。然后,我创建了另一个EC2实例,现在我无法连接到任何一个实例。我的腻子配置中正确引用了.ppk文件。我尝试与Mac连接并在其中复制.pem文件。还有什么我可以检查的吗?另外,为什么我不能像说明中那样在腻子的连接字段中键入ec2-user @ domain。我的AWS环境有问题吗?

3 个答案:

答案 0 :(得分:1)

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

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

要检查的事情:

  • 确认公共IP地址仍然是最新的(可以更改实例停止和启动的IP地址)
  • 确认实例位于公共子网中,这意味着子网中具有指向Internet网关的路由表
  • 确认安全组允许来自您IP地址(或什至0.0.0.0/0的入站SSH流量(端口22)进行测试)
  • 除非您对NACL保持深刻的了解,否则请保留默认设置
  • 确保实例是Linux实例(Windows未启用SSH)
  • 由于某些公司网络会阻止SSH连接,因此请从其他网络(例如,家庭,办公室,通过电话进行共享)尝试一下

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

答案 1 :(得分:0)

此问题是帐户问题。我已经重新激活了我的旧帐户,但是以某种方式在AWS中仍将其标记为“已隔离”。我可以访问AWS控制台,但是无法使用SSH进行任何操作。作为用户,您自己看不到这种方式。我必须在AWS开发人员论坛上发帖,在该论坛上,AWS开发人员能够看到我的账户被“隔离”并代表我提交了票证。现在,我可以毫无问题地通过SSH进入我的EC2实例。

答案 2 :(得分:0)

如果您已经在该线程上实现了其他解决方案,但是它们仍然不能解决您的超时问题,那么对我来说这是有用的:

只需编辑公共路由表(该路由表应与EC2实例所在的子网相关联)。添加出站规则以允许端口1024-65535上的所有TCP流量

我在ACloudGuru AWS课程(认证的解决方案架构师,助理级别)中了解到了这一点-基本思想是,当您最初连接到端口22时,您的会话将移至“ 临时端口”(实例本身在1024-65535之间),仅在会话期间使用。会话结束后,端口将再次变为空闲。这允许与实例端口22的新传入连接转换为会话。本质上,目的是允许一个实例同时服务多个传入的SSH连接。