Ubuntu SSH 连接失败的原因很多,可以按下面思路一步步排查。
ping 服务器IP
telnet 服务器IP 22
# 或
nc -zv 服务器IP 22
sudo systemctl status ssh
如果没安装:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
sudo ufw status
若开启,允许 SSH:
sudo ufw allow 22
ss -tlnp | grep ssh
应看到 0.0.0.0:22 或 :::22
# 服务端查看
sudo vi /etc/ssh/sshd_config
确认:
PasswordAuthentication yes
PubkeyAuthentication yes
改完重启:
sudo systemctl restart ssh
ssh -i 私钥文件 用户@IP
权限要求:
chmod 600 私钥文件
客户端加 -v:
ssh -v 用户@IP
看最后报错信息,可精准定位。
如果你愿意,可以把 具体报错信息(如 Connection refused、Timeout、Permission denied 等)发给我,我可以直接告诉你怎么解决。