在 CentOS 上 SSH 登录慢,通常是 DNS 反向解析、GSSAPI、密钥交换算法、或者网络问题 导致的。下面按“最常用 → 进阶”给你一套排查和调优方法。
SSH 默认会做反向 DNS 解析,如果 DNS 不通会很慢。
修改服务端配置:
vi /etc/ssh/sshd_config
确保有以下内容:
UseDNS no
重启 sshd:
systemctl restart sshd
GSSAPI 在域环境外基本没用,但会拖慢连接。
vi /etc/ssh/sshd_config
修改或添加:
GSSAPIAuthentication no
重启:
systemctl restart sshd
编辑客户端配置:
vi ~/.ssh/config
加入:
Host *
GSSAPIAuthentication no
ForwardX11 no
可能慢在:
/etc/profile~/.bashrc~/.bash_profilepam_systemd)测试:
time ssh user@host echo ok
如果“密码输入后”慢:
ssh -o PreferredAuthentications=password user@host
UsePAM no
⚠️ 改之前确认不会影响 sudo / 密码登录
ping ip
mtr ip
编辑 /etc/ssh/sshd_config:
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha2-256,hmac-sha2-512
重启 sshd。
grep -E "UseDNS|GSSAPI" /etc/ssh/sshd_config
systemctl restart sshd
ssh -vvv 看卡在哪一步/var/log/secureTCP Wrappers如果你愿意,可以告诉我:
我可以给你更精确的配置。