SSH 连不上服务器的排查清单

Cold 发布于 2021-08-25 21 次阅读 364 字 预计阅读时间: 2 分钟 Linux服务器


SSH 连不上是最让人慌的,尤其只有一台机器的时候。按这个顺序排查,基本能定位。

1. 先 ping 通不通

ping 你的服务器IP
  • 不通:网络问题、服务器关机、防火墙 ICMP 被禁(有些云厂商默认禁 ping,不能只靠这个判断)
  • 通:继续下一步

2. 端口通不通

telnet 服务器IP 22
# 或
nc -zv 服务器IP 22
  • Connection refused:SSH 服务没起来,或端口改了
  • Timeout:防火墙/安全组挡了
  • Connected:端口通,问题在认证

3. 检查安全组和防火墙

  • 云控制台安全组是否放行 22 端口,源 IP 是否限制
  • 服务器上 iptables -L -n 或 firewall-cmd --list-all
  • fail2ban 是否把 IP 封了:fail2ban-client status sshd

4. 认证失败

ssh -v user@host

加 -v 看详细过程,能看出是密钥没被接受还是密码错。

  • 密钥权限:chmod 600 ~/.ssh/id_rsa,chmod 700 ~/.ssh
  • 服务器 ~/.ssh/authorized_keys 权限 600
  • sshd_config 里 PubkeyAuthentication yes、PasswordAuthentication 是否被关

5. 其他

  • 服务器磁盘满导致 sshd 无法写入
  • sshd 进程挂了但端口还占着
  • 改了 sshd_config 没重启,或配置写错导致起不来
  • 云厂商的 VNC 控制台可以救急

建议:改 SSH 配置前先开一个已连接的会话别关,改完新开一个窗口测试,确认能连再关旧的。这样配置写错还能救回来。

和喜欢的一切在一起~
最后更新于 2021-08-25