bash
ping 服务器IP
traceroute 服务器IP
bash
sudo systemctl status sshd # 对于使用systemd的系统
sudo service sshd status # 对于使用init的系统
bash
sudo systemctl start sshd
sudo service sshd start
bash
sudo netstat -tuln | grep ssh
sudo ss -tuln | grep ssh
/etc/ssh/sshd_config
中的Port
设置正确bash
ssh -p 新端口号 用户名@服务器IP
bash
sudo iptables -L -n # 对于iptables
sudo ufw status # 对于UFW
bash
sudo ufw allow 22/tcp
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
bash
sudo tail -f /var/log/auth.log
sudo journalctl -u sshd -f # 对于systemd系统
/etc/ssh/sshd_config
中的认证设置:
PasswordAuthentication yes
PermitRootLogin yes/prohibit-password
/etc/ssh/sshd_config
中添加:
ClientAliveInterval 60
ClientAliveCountMax 5
bash
sudo systemctl restart sshd
bash
grep MaxSessions /etc/ssh/sshd_config
grep MaxStartups /etc/ssh/sshd_config
~/.ssh
目录权限为700~/.ssh/authorized_keys
文件权限为600bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
详细日志模式连接:
ssh -vvv 用户名@服务器IP
测试不同加密算法:
ssh -o Ciphers=aes128-ctr 用户名@服务器IP
检查SELinux状态:
sestatus
如果启用,可能需要调整策略或暂时禁用:
setenforce 0
检查主机密钥变化:
bash
ssh-keygen -R 服务器IP
通过以上步骤,您应该能够诊断并解决大多数SSH连接问题。如果问题仍然存在,可能需要检查更详细的系统日志或联系网络管理员。