AWS EC2实例SSH连接超时及公网IP无法访问问题求助
AWS EC2 SSH连接超时及公网IP无法访问的排查思路
一、SSH连接超时问题排查
- 核对安全组SSH规则:从你提供的入站规则截图确认是否存在22端口的入站规则,测试阶段可将来源设为
0.0.0.0/0(后续记得改回自身公网IP以保证安全),同时确认该安全组已正确绑定到目标EC2实例。 - 检查实例公网属性:在EC2控制台查看实例的「公网IP」「公网DNS」是否正常分配,同时确认实例的系统状态检查和实例状态检查均通过,若检查失败,优先查看系统日志或尝试重启实例。
- 排除本地网络限制:切换至手机热点等其他网络环境重试SSH,排查是否是本地防火墙、路由器或运营商屏蔽了22端口。
- 验证子网路由表:确认实例所在子网关联的路由表中,存在目标为
0.0.0.0/0、下一跳指向**互联网网关(IGW)**的路由条目,无此路由则实例无法与公网通信。 - 确认密钥对有效性:Linux/macOS环境下需将密钥对文件权限设为
chmod 400 your-key.pem,Windows下使用Putty需将pem格式转换为ppk格式,且必须使用实例创建时指定的密钥对。
二、HTTP/HTTPS公网访问问题排查
- 确认安全组端口规则:截图中的HTTP(80)、HTTPS(443)规则需确保来源范围包含公网访问的IP(如
0.0.0.0/0),且规则已绑定到目标实例。 - 检查实例内Web服务状态:若能通过AWS Systems Manager Session Manager等方式登录实例,执行
systemctl status nginx(以Nginx为例)确认Web服务是否正常运行,同时验证服务是否监听0.0.0.0:80/0.0.0.0:443(而非仅本地回环地址)。 - 核对网络ACL配置:VPC网络ACL为无状态防火墙,需同时开放80、443端口的入站和出站规则,确保公网流量能双向通行。
- 测试实例内部访问:在实例内执行
curl http://localhost或curl http://[实例私有IP],确认Web服务本身能正常返回内容,排除服务配置问题。
三、通用排查动作
- 重启实例:部分网络配置异常可通过重启修复,操作前请做好数据备份。
- 查看系统日志:在EC2控制台实例详情页点击「获取系统日志」,排查启动阶段是否存在网络初始化失败、服务启动报错等信息。
- 确认互联网网关状态:检查VPC是否已关联互联网网关,且网关处于「可用」状态。
内容的提问来源于stack exchange,提问作者Bandhan Majumder
相关产品推荐
相关产品推荐

