分层排查
1. 端口通不通
nc -vz YOUR_IP 22
# 或
Test-NetConnection YOUR_IP -Port 22不通:先查云厂商安全组 / 本机防火墙,而不是改 sshd_config。
2. 密钥权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
ssh -i ~/.ssh/id_ed25519 -v user@YOUR_IP-v 能看到是公钥被拒还是协商失败。
3. 服务器端
若有 VNC/串口控制台:
sudo tail -n 50 /var/log/auth.log
sudo ss -lntp | grep sshd确认 PasswordAuthentication / PubkeyAuthentication 与预期一致。
改端口后的坑
改成 2222 后,安全组与本地命令都要改:
ssh -p 2222 user@YOUR_IP建议
生产机禁用密码登录、限制 AllowUsers,并用 fail2ban 或云 WAF 降暴力扫描噪音。