同一区域、子网组及安全组内AWS EC2实例间SSH连接超时求助
解决同一子网EC2实例间SSH超时问题的排查步骤
检查安全组入站规则的源配置
你当前设置允许任意地址SSH,但建议直接将另一台EC2的私有IP/私有IP段或两台实例所在的安全组ID作为入站规则的源(选Custom类型,输入对方安全组ID)。虽然0.0.0.0/0理论上包含私有IP,但用安全组ID做源是更精准的内网访问控制方式,也能排除规则匹配的潜在问题。排查实例本地防火墙
登录EC2实例后检查系统防火墙状态:- Amazon Linux 2/RHEL/CentOS:执行
sudo iptables -L或sudo firewall-cmd --list-all,确认是否存在阻断私有IP段SSH(22端口)的规则,如有则添加允许规则。 - Ubuntu:执行
sudo ufw status,确保已允许来自内网的22端口访问。
- Amazon Linux 2/RHEL/CentOS:执行
验证网络连通性
先跳过SSH,用基础工具测试网络:- 在实例A执行
ping <实例B私有IP>,若无响应,检查子网路由表是否包含本地私有网段路由(默认VPC路由表自带10.0.0.0/16这类本地路由,若被修改会导致内网不通)。 - 执行
telnet <实例B私有IP> 22,若显示SSH-2.0-OpenSSH_xx.x说明端口通,问题在SSH配置;若超时则端口仍被阻断。
- 在实例A执行
检查SSH服务配置
登录目标实例查看/etc/ssh/sshd_config:- 确认
ListenAddress设置为0.0.0.0或包含私有IP(避免仅绑定公网IP)。 - 若用root登录,确认
PermitRootLogin为yes;若用密码登录,确认PasswordAuthentication开启(推荐用密钥登录)。
修改后重启SSH服务:sudo systemctl restart sshd。
- 确认
确认私有IP配置正确性
执行ip addr查看实例私有IP是否与控制台显示一致,排除多网卡或IP配置错误导致的内网访问失败。
内容的提问来源于stack exchange,提问作者Jimi Hunter
相关产品推荐
相关产品推荐

