持有Linux实例的.pem文件仍无法连接,ssh连接超时原因排查
SSH连接AWS EC2 Linux实例超时的常见原因
当执行ssh命令出现ssh: connect to host ec2-65-098-002-001.us-west-2.compute.amazonaws.com port 22: Connection timed out报错时,常见原因如下:
- 安全组未开放SSH端口:实例绑定的安全组没允许你的IP访问22端口。去AWS控制台检查安全组入站规则,确认是否添加了对应IP的22端口TCP允许规则(测试时可临时用
0.0.0.0/0,但生产环境别这么做)。 - 网络ACL限制流量:如果实例所在子网有网络ACL,得同时检查入站(允许22端口)和出站(允许1024-65535端口的TCP返回流量)规则,ACL是双向限制的。
- 实例无有效公网IP:确认实例已经分配了公网IP或者弹性IP,且弹性IP已正确关联到实例。如果没有公网IP,自然没法从外部SSH连接。
- 本地网络屏蔽22端口:你的公司防火墙、家用路由器可能禁止了22端口的出站请求。换个网络(比如手机热点)试试,排除本地网络的问题。
- 实例运行异常:实例可能没正常启动,或者系统卡死了。去AWS控制台看实例的状态检查结果,确认实例是否处于「运行中」且状态检查通过。
- 子网路由表无互联网路由:实例所在子网的路由表没有指向互联网网关(IGW)的路由条目。检查路由表是否有
0.0.0.0/0指向IGW的规则,没有的话加上。 - SSH服务未启动(少见):虽然超时大多是网络问题,但如果实例内部SSH服务没起来,也可能出现这种情况。如果配置了AWS系统管理器,可以用会话管理器登录实例检查
sshd服务状态。
内容的提问来源于stack exchange,提问作者Sai Teja Makani
相关产品推荐
相关产品推荐

