使用ssh连接ec2实例操作超时错误

使用ssh连接ec2实例操作超时错误

创建新实例后,我尝试访问我的实例,如下所示:

ssh -i private_key.pem root@my_instance_public_domain

但操作超时。我已经使用更新了私钥文件权限

chmod 400

还通过添加新的绑定规则来编辑默认安全组,选择 SSH 和源 IP 为 1.12.34.0/32

但得到port 22: Operation timed out

我缺少什么。

答案1

您是否设法解决了 ec2 实例的 ssh 问题?

我在设置第一个 ec2 实例时也遇到了 ssh 登录问题。

以下是我解决 ssh 登录问题的方法:

  • 使用您实例的安全组,首先将入站 SSH 规则的源 IP 设置为 0.0.0.0/0,并确保您可以通过此设置获得有效连接。一旦您的 ssh 连接正常工作,您就可以通过将源 IP 更改为您登录的计算机的 IP 范围来加强访问。请注意,如果该计算机具有非静态公共 IP,则您将经常需要更改 SSH 规则的源 IP 设置。

  • 根据我自己的经验,我注意到,如果我尝试 ssh 到我的新实例而不等待其状态检查完成,我会遇到 ssh 超时问题。对于新创建的实例尤其如此。在您的 AWS 控制台中,每个实例都应该有一个“状态”和“状态检查”列。确保实例的“状态”条目显示“正在运行”(旁边有一个绿色圆圈),“状态检查”条目显示“2/2 检查已通过”(有一个绿色圆圈和白色勾号)。有时这可能需要一段时间 - 所以去吃点零食,然后回来尝试再次登录。

  • 我发现启用 ssh 详细程度也有助于调试 ssh 问题。尝试使用此命令来启用详细信息:

    ssh -vvv -i private_key.pem root@my_instance_public_domain

  • ping 您的实例的公共 FQDN 也可能有所帮助,但请确保您的实例的安全组规则设置为允许 ICMP 流量。

  • 尝试远程登录到实例的公共 FQDN 的端口 22 也可能有助于排除故障。例如

    telnet my_instance_public_domain 22

答案2

如果您使用非默认 VPC,那么你也

需要一条路由,将所有发往 VPC (0.0.0.0/0) 外部的流量发送到 VPC 的互联网网关。

答案3

我遇到了同样的问题,亚马逊这里有一个非常有用的故障排除指南:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html

我的问题是,我创建了一些子网以便将它们与相同的 VPC 一起使用,但不知道我必须通过路由表将子网连接到 VPC,并且必须向每个路由表添加一个互联网网关。

相关内容