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

无法通过SSH访问EC2免费套餐(t2.micro)实例的问题求助

EC2实例SSH及EC2 Instance Connect连接失败排查方案

一、安全组配置检查

  • 入站规则必须包含:
    • SSH(TCP 22端口):添加你的本地公网IP作为源(可通过搜索引擎查自己的公网IP),测试阶段可临时允许0.0.0.0/0(测试完成后务必改回指定IP,避免安全风险)
    • EC2 Instance Connect依赖SSH端口,上述规则可覆盖其连接需求
  • 出站规则保持默认的0.0.0.0/0允许所有即可,确保实例能正常访问外部资源

二、网络ACL配置检查

  • 入站规则:添加允许TCP 22端口的规则,源地址包含你的本地IP,优先级设为100左右(高于默认的拒绝规则)
  • 出站规则:添加允许TCP 1024-65535端口的规则,目的地址为0.0.0.0/0,确保SSH连接的响应流量能正常返回

三、实例及系统层面检查

  • 确认实例已分配公网IPv4地址,且实例状态为running,系统状态检查显示正常(在EC2控制台实例详情页查看)
  • 检查操作系统的EC2 Instance Connect包:
    • Amazon Linux 2:执行sudo yum install ec2-instance-connect -y确保包已安装
    • Ubuntu:执行sudo apt-get install ec2-instance-connect -y确保包已安装
  • 确认SSH服务正在运行:
    • Amazon Linux 2/CentOS:sudo systemctl status sshd,若未启动则执行sudo systemctl start sshd && sudo systemctl enable sshd
    • Ubuntu:sudo systemctl status ssh,若未启动则执行sudo systemctl start ssh && sudo systemctl enable ssh
  • 检查系统防火墙:
    • firewalld(Amazon Linux 2/CentOS):执行sudo firewall-cmd --add-service=ssh --permanent && sudo firewall-cmd --reload开放SSH端口
    • iptables:确保没有拒绝22端口入站流量的规则,可临时清空规则测试:sudo iptables -F

四、EC2 Instance Connect额外检查

  • 确认你的IAM用户拥有ec2-instance-connect:SendSSHPublicKey权限,权限范围需包含目标EC2实例的资源ARN
  • 若实例在私有子网,需确保子网配置了NAT网关,且路由表有指向NAT网关的路由,让实例能出站访问AWS的EC2 Instance Connect服务
  • 若实例在公有子网,确认路由表有指向Internet Gateway的路由,确保实例能正常访问外部

五、快速测试方法

  • 用telnet测试端口连通性:telnet <实例公网IP> 22,若返回类似Escape character is '^]'.说明网络通路正常,问题在系统或密钥;若超时则重点排查安全组、网络ACL、路由
  • PuTTY连接时,确认使用正确的用户名:Amazon Linux 2用ec2-user,Ubuntu用ubuntu,CentOS用centos,同时确保密钥是通过PuTTYgen转换后的.ppk文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:40:14