AWS EC2实例SSH连接端口22超时故障排查咨询
SSH连接AWS EC2超时问题排查结果
根本原因
- 公网客户端直接访问EC2的私有IP:10.0.0.0/8属于内网保留网段,公网网络没有到该网段的路由,无法直接访问AWS VPC内部的私有IP。
- 子网路由配置缺失:当前子网关联的路由表仅保留了VPC内部的本地路由,没有配置指向互联网网关的公网路由,即使实例绑定公网IP也无法从公网通达。
- 用户名配置错误:Ubuntu系统的AWS EC2默认SSH用户名为
ubuntu,你使用的ec2-user是Amazon Linux系列实例的默认用户名,网络连通后也会出现鉴权失败。
解决方案
方案1:公网访问EC2实例
- 为目标EC2实例绑定弹性公网IP(EIP),公网IP可被公网网络路由识别。
- 调整子网关联的路由表,新增公网路由规则:目标地址填写
0.0.0.0/0,目标选择VPC已绑定的互联网网关,确认路由状态为活跃。 - 替换SSH命令中的IP和用户名,执行连接:
ssh -vvv -i "my-private-key.pem" ubuntu@<EC2实例绑定的弹性公网IP>
方案2:内网访问EC2实例
如果不需要暴露实例到公网,可将客户端接入VPC内网后再用私有IP连接,可选实现方式:
- 使用同VPC下的其他EC2实例作为跳板机跳转登录
- 通过AWS Session Manager直连实例
- 搭建VPN/专线打通本地办公网络和AWS VPC,实现内网互通后访问
补充排查点
如果完成上述配置后仍然连接超时,可检查以下配置:
- 确认EC2实例处于运行中状态,且系统状态检查、实例状态检查均正常
- 检查实例内部的防火墙(如Ubuntu默认的ufw)是否放行22端口的入站请求
- 确认你本地客户端的公网出口IP确实为153.5.57.2,若存在运营商动态IP或代理转发,需要更新安全组和ACL的源IP规则
内容的提问来源于stack exchange,提问作者user17336890
相关产品推荐
相关产品推荐

