在 CentOS 上遇到 SSH 连接超时,可以按下面步骤逐一排查和解决。
排查:
ping 服务器IP
解决:
在服务器上执行:
systemctl status sshd
若未启动:
systemctl start sshd
systemctl enable sshd
确认端口:
ss -lntp | grep ssh
如果不是 22,连接时需指定:
ssh -p 端口号 user@ip
CentOS 7/8:
firewall-cmd --list-all
若 22 未放行:
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
iptables(老系统):
iptables -L -n
getenforce
如果是 Enforcing,可临时测试:
setenforce 0
若解决,再配置 SELinux 策略(不建议直接关)。
修改服务器 SSH 配置:
vim /etc/ssh/sshd_config
添加或修改:
ClientAliveInterval 60
ClientAliveCountMax 3
重启服务:
systemctl restart sshd
客户端也可配置(~/.ssh/config):
ServerAliveInterval 60
在 /etc/ssh/sshd_config 中:
UseDNS no
重启:
systemctl restart sshd
如果你愿意,可以告诉我:
我可以给你更精确的命令。