此前可用的命令无法SSH连接AWS Spot实例,连接超时
AWS Spot实例SSH连接超时问题
三周前我还能通过以下命令SSH连接AWS Spot实例:
ssh -v -i /home/me/.ssh/aws3.pem ubuntu@ec2-3-145-53-84.us-east-2.compute.amazonaws.com
使用的是实例的Public IPv4 DNS地址。但AWS界面更新后,按流程创建新Spot实例并获取新的Public IPv4 DNS后,执行上述命令出现超时错误,debug日志如下:
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017 debug1: Reading configuration data /home/me/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to ec2-3-145-53-84.us-east-2.compute.amazonaws.com [3.145.53.84] port 22. debug1: connect to address 3.145.53.84 port 22: Connection timed out ssh: connect to host ec2-3-145-53-84.us-east-2.compute.amazonaws.com port 22: Connection timed out
排查解决步骤
- 检查安全组规则:确认实例关联的安全组已开放入站规则,允许你的公网IP访问22端口(SSH)。优先限制到自身IP,避免无差别开放0.0.0.0/0。
- 验证实例状态:在EC2控制台确认实例处于
running状态,且系统状态检查、实例状态检查均显示正常。 - 确认网络ACL配置:若实例在自定义VPC下,检查子网对应的网络ACL是否允许22端口的入站、出站流量(入站放行22端口,出站放行响应流量)。
- 验证公网IP解析:用
nslookup ec2-3-145-53-84.us-east-2.compute.amazonaws.com确认Public IPv4 DNS能正常解析到对应IP,同时确认实例已分配公网IP或弹性IP。 - 排查本地网络限制:测试本地是否能访问其他SSH服务,排除本地防火墙、代理或运营商限制问题。可执行
telnet 3.145.53.84 22验证端口连通性。 - 修正密钥文件权限:确保本地
aws3.pem文件权限正确,执行chmod 600 /home/me/.ssh/aws3.pem,避免因权限过宽被SSH拒绝使用。 - 确认实例登录用户名:Ubuntu实例默认用户名为
ubuntu,若实例系统有变更需对应调整,但此条可优先跳过(你之前的操作已确认该用户名有效)。
内容的提问来源于stack exchange,提问作者user189035
相关产品推荐
相关产品推荐

