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

无法访问EC2 EBS实例,SSH端口22连接失败求助

排查EC2 SSH连接失败的下一步方案

既然你已经排除了安全组、NACLs、VPC路由表这些网络层面的常见问题,也重启过实例、对比过系统日志没发现异常,那咱们可以从以下几个方向深入排查:

  • 尝试替代登录方式,获取系统直接访问权限
    优先试试EC2控制台自带的**实例连接(EC2 Instance Connect)**功能直接登录(只要实例满足基础条件就支持);如果这个也不行,就把故障实例的EBS卷卸载下来,挂载到同区域的一个健康EC2实例上,这样就能直接查看故障系统的配置和日志了。

  • 检查SSH服务的配置与日志
    挂载EBS卷后,先看/etc/ssh/sshd_config文件:

    • 确认Port配置是不是还是22(有没有被误修改成其他端口)
    • 检查PermitRootLogin、PasswordAuthentication、PubkeyAuthentication这些认证规则有没有被错误调整
      再去/var/log/secure(Amazon Linux 1/2的默认SSH日志路径)里翻记录,这里会详细记录连接失败的原因——比如密钥不匹配、服务启动失败、用户权限限制等,比系统启动日志更有针对性。
  • 排查系统资源占用问题
    有时候实例CPU跑满、内存耗尽或者磁盘IO卡死,会导致SSH服务根本无法响应请求。去EC2控制台的**监控(Monitoring)**面板,看看故障实例的CPU使用率、内存占用、磁盘读写指标,确认是不是资源耗尽导致的假死。如果是内存不足,可能需要临时升级实例规格或者清理系统缓存;如果磁盘满了,挂载EBS卷后清理大文件即可。

  • 检查磁盘挂载与文件系统状态
    EBS卷挂载失败、文件系统损坏也会导致SSH服务启动失败。挂载EBS到健康实例后,先执行文件系统检查:

    fsck /dev/xvda1  # 注意替换成实际的磁盘设备名,比如/dev/nvme0n1p1
    

    再看/etc/fstab里的挂载配置,确认有没有因为磁盘UUID变化、挂载路径错误导致的启动挂载失败。

  • 检查实例本地防火墙规则
    虽然安全组和NACLs已经排查过,但实例内部的iptables或者firewalld可能被添加了限制规则。挂载EBS卷后,执行命令查看本地防火墙:

    iptables -L -n
    

    确认有没有拒绝22端口入站请求的规则存在。

小提示:如果是Amazon Linux 2系统,挂载卷后还可以模拟查看SSH服务状态:systemctl status sshd,看看有没有服务启动失败的报错信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:29:59