CentOS SSH 连接慢(登录卡顿、等待时间长)是比较常见的问题,通常由以下几类原因导致。你可以逐项排查。
SSH 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 不通或超时,就会非常慢。
解决方法:
vi /etc/ssh/sshd_config
修改或添加:
UseDNS no
重启 SSH:
systemctl restart sshd
CentOS 默认开启 GSSAPI 认证,在某些环境下会明显变慢。
解决方法:
GSSAPIAuthentication no
重启 sshd。
某些 PAM 模块在登录时执行慢。
可临时测试:
UsePAM no
(不建议长期关闭,仅用于排查)
SELinux 异常或策略加载慢也可能影响。
排查:
getenforce
如为 Enforcing,可临时测试:
setenforce 0
客户端也可能慢,例如:
GSSAPIAddressFamily any客户端测试:
ssh -o GSSAPIAuthentication=no -o StrictHostKeyChecking=no user@host
可能导致连接建立慢(不是认证慢)。
top
uptime
CPU、IO、内存异常会导致 SSH 响应慢。
加密随机数不足会导致握手慢:
cat /proc/sys/kernel/random/entropy_avail
低于 100 可能有问题。
UseDNS no
GSSAPIAuthentication no
ssh -vvv user@ip
看卡在哪一步如果你愿意,可以把下面信息发我,我可以更精确定位:
ssh -vvv 卡在哪一行