SSH 连不上是新手最常遇到的坑。别急着重装系统,按这份清单从外到内排查,多数情况几分钟就能解决。

1. 先分清卡在哪一步

  • Connection timed out(超时):根本连不上 → 网络/端口/防火墙问题。
  • Connection refused(拒绝):能到机器但 SSH 没在监听 → 服务没起或端口不对。
  • Permission denied(拒绝认证):连上了但登录失败 → 密码/密钥/用户名问题。

2. 网络与端口(治 timeout)

  • ping IP 看机器在不在线(部分机房禁 ping,仅供参考)。
  • 确认 SSH 端口(默认 22,有的机器改过),连接时 ssh -p 端口 user@IP
  • 本地网络/运营商是否封了 22,可换网络或让商家确认端口。

3. 防火墙(最常见元凶)

  • 云防火墙:很多人忘了在云控制台的安全组放行 SSH 端口——这是头号原因。
  • 系统防火墙:ufw / iptables 误把 22 拦了。新手最容易在开 ufw 时先 deny 全部却忘了放行 22 把自己关在门外

4. 认证(治 Permission denied)

  • 用户名对不对:root 还是 ubuntu / admin?云厂商默认用户各不同。
  • 密钥登录:私钥权限要 chmod 600,且对应的公钥在服务器 ~/.ssh/authorized_keys 里。
  • 若服务器关了密码登录(PasswordAuthentication no),就只能用密钥。

5. 还是连不上的兜底

  • 用云厂商的 网页版控制台 / VNC 直接进系统,绕过 SSH 改配置或放行端口。
  • fail2ban 因多次失败临时封了本机 IP?等几分钟或换 IP 再试。
  • 实在不行用快照回滚或重置(注意先备份数据)。