You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过私有IP连接Amazon EC2实例的技术求助

排查EC2私有IP SSH连接失败的实操步骤

核心背景:你与EC2实例同属公司VPN/内网,但私有IP ping全丢包、SSH连不上(报错Resource temporarily unavailable或Connection refused),默认配置的Amazon Linux 2实例也不行,SSM排查工具失效。以下是按优先级排序的排查点:

一、先确认内网路由是否真的打通

  • 核实你的本地机器IP段,与EC2实例的私有IP段是否在VPN路由覆盖范围内——如果公司VPN没把AWS VPC的私有网段加入路由策略,哪怕同属公司内网,数据包也到不了实例。
  • 用路由追踪工具定位丢包节点:
    traceroute 172.xx.xx.121 # Linux/macOS
    # 或Windows下用
    tracert 172.xx.xx.121
    
    看数据包卡在VPN网关、AWS VPC入口还是其他节点,这能直接锁定是网络链路问题还是AWS内部配置问题。

二、VPC子网的关键配置检查(别信默认配置,可能被改动过)

默认VPC确实应该允许内网连通,但如果公司AWS账号有全局配置变更,可能破坏默认规则:

  • 网络ACL(NACL):默认是全放行,但检查实例所在子网的NACL:
    • 入站规则:必须允许来自你内网/VPN段的ICMP(ping)和TCP 22端口流量
    • 出站规则:必须允许ICMP响应和TCP 22的返回流量
      注意NACL是无状态的,入站放行后出站也要对应放行。
  • 子网路由表:检查实例所在子网的路由表,是否存在指向公司VPN网关(比如Virtual Private Gateway)的路由条目,确保内网流量能正确转发到EC2实例所在网段。
  • VPC端点(SSM相关):虽然你用私有IP,但实例能出现在SSM托管列表里,说明SSM通信正常,这部分暂时不用管,但如果后续SSM连不上再排查。

三、实例自身与安全组的细节验证

  • 安全组规则:再仔细核对入站规则,是否明确允许你的内网/VPC IP段访问TCP 22和ICMP(所有类型),别只依赖0.0.0.0/0(有些内网环境会限制公网规则生效)。
  • 操作系统防火墙:通过SSM会话管理器直接登录实例(既然在托管列表里,这个肯定能连),检查系统防火墙是否拦截了流量:
    # Amazon Linux 2 用firewalld
    sudo firewall-cmd --list-all
    # 或检查iptables
    sudo iptables -L
    
    如果发现有拦截规则,临时关闭防火墙测试:sudo systemctl stop firewalld
  • SSH服务状态:同样在SSM会话里检查sshd是否正常运行:
    sudo systemctl status sshd
    # 查看报错日志
    sudo journalctl -u sshd -f
    
    如果sshd没启动,手动启动:sudo systemctl start sshd,并设置开机自启:sudo systemctl enable sshd

四、关于AWSSupport-TroubleshootSSH失败的说明

这个工具依赖实例能接收AWS内部的修复流量,且实例有足够权限执行脚本。既然你能通过SSM直接连实例,手动排查比依赖工具效率高,不用纠结工具失败的问题。

关键提醒

默认实例“开箱即用”指的是公网环境下的连接,内网连接额外依赖公司VPN与AWS VPC的路由打通,这是很多新手容易忽略的点——先确认路由可达,再排查AWS内部的网络规则和实例状态。

内容的提问来源于stack exchange,提问作者xpt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:30:47