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

Ubuntu机器SSH连接Amazon AWS实例超时问题求助

解决Ubuntu机器SSH连接AWS实例超时的问题

嘿,作为AWS新手碰到SSH超时真的太常见了!既然你已经能正常用AWS CLI,说明你的密钥和账户权限肯定没问题,问题基本都出在网络相关的配置上,我帮你一步步排查:

第一步:检查安全组(Security Group)的入站规则

这是最容易踩坑的地方,安全组相当于实例的防火墙,必须给SSH留口子:

  • 登录AWS控制台,找到你的实例关联的安全组,进入「入站规则」标签页
  • 必须添加一条规则:类型选SSH,端口范围填22,来源建议设为你本地Ubuntu机器的公网IP(可以用curl ifconfig.me在本地查到),如果只是测试的话也可以暂时设为0.0.0.0/0(但测试完记得改回去,不安全)
  • 出站规则默认一般是允许所有流量,不用特意改,除非你之前手动限制过

第二步:确认子网(Subnet)的公网访问能力

你的实例得在公有子网里才能被SSH访问:

  • 查看实例的详情,找到所属的子网ID,然后去子网页面查看这个子网的配置
  • 检查「自动分配公网IP」选项是否开启,如果没开,要么给实例手动分配一个弹性IP(EIP),要么修改子网设置开启这个选项
  • 同时确认这个子网关联的路由表有没有绑定Internet Gateway(IGW)——没有IGW的话,实例根本连不上公网

第三步:验证路由表(Route Table)的路由规则

路由表决定了子网里的流量怎么走:

  • 找到子网关联的路由表,查看路由规则列表
  • 必须有一条目标为0.0.0.0/0的路由,下一跳指向你的Internet Gateway(IGW),没有的话就添加这条路由(目标填0.0.0.0/0,目标类型选「Internet网关」,然后选你的IGW)

第四步:本地Ubuntu机器的小排查

如果上面的AWS配置都没问题,再看看本地:

  • 先在本地终端执行ping <你的实例公网IP>,如果ping不通,还是回到上面的AWS网络配置找问题
  • 如果ping通但SSH超时,检查本地防火墙:执行ufw status看看是不是阻止了22端口的出站流量,必要时可以临时关闭防火墙测试(sudo ufw disable)

用AWS CLI快速查配置的小命令

你可以直接用CLI快速验证配置,省得在控制台来回点:

  • 查安全组规则:aws ec2 describe-security-groups --group-ids <你的安全组ID>
  • 查实例的子网和公网IP信息:aws ec2 describe-instances --instance-ids <你的实例ID>

按照这个步骤排查,基本就能解决SSH超时的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:44:42