← 返回博客

SSH 连不上 VPS:超时、Permission denied 与安全组

从网络层到密钥权限,按层级定位 SSH 无法登录的原因。

TensorView Lab · 2026-09-04

分层排查

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 降暴力扫描噪音。

也可以试试 TensorView 小工具集合