Ubuntu终端SSH连接EC2实例报port 22连接超时如何解决?
EC2实例SSH连接超时排查步骤
你遇到的ssh: connect to host 18.116.70.233 port 22: Connection timed out报错属于网络链路不通类问题,你已经确认过实例防火墙未启用、实例已重启、SSH服务已安装,可按以下顺序进一步排查:
- 检查EC2实例关联的安全组入站规则
确认安全组允许你当前本地网络的公网IP的TCP 22端口入站,若临时测试也可暂时放行0.0.0.0/0的TCP 22端口(测试完成后需及时收紧规则,避免安全风险) - 核对实例当前公网IP正确性
若你没有为实例绑定弹性IP,实例重启后公网IP会自动变更,需确认你执行SSH命令时填写的IP与AWS控制台显示的实例当前公网IP一致 - 检查VPC网络ACL配置
确认实例所属VPC的网络ACL没有配置拒绝TCP 22端口入站、出站的规则,默认网络ACL规则为全通,若有过自定义修改需额外检查 - 验证本地网络是否放行22端口访问
你可以在本地终端执行以下命令测试端口连通性:telnet 18.116.70.233 22
若返回连接失败,可尝试切换其他网络环境(比如手机热点)重新测试,排除本地运营商或内网防火墙封禁22端口的可能 - 检查子网路由表配置
确认实例所属子网的路由表中存在指向互联网网关(IGW)的默认路由(0.0.0.0/0指向IGW),否则实例无法进行公网通信,外部也无法访问实例公网IP - 通过AWS控制台会话管理器登录排查
若以上配置均无问题,可以通过EC2控制台自带的会话管理器功能登录实例,执行以下命令检查SSH服务配置:- 查看SSH服务运行状态:
systemctl status sshd - 检查SSH配置文件是否有自定义端口、IP登录限制:
cat /etc/ssh/sshd_config
- 查看SSH服务运行状态:
- 验证私钥文件权限
本地的私钥文件权限需设置为仅当前用户可读,否则可能导致连接异常,执行命令修改权限:chmod 600 private_key.pem
内容的提问来源于stack exchange,提问作者Golam Rabbi Nazum
相关产品推荐
相关产品推荐

