slow-ssh-login

SSH 登录缓慢的定位与修复

现象

SSH 能登录,但认证或 shell 启动要等几秒到几十秒。常见于反向 DNS、GSSAPI、PAM/LDAP、NFS home 或登录脚本。

快速定位

ssh -vvv user@host
sshd -T | grep -E 'usedns|gssapi|pam|maxauthtries'
journalctl -u sshd --since '30 min ago'

服务端:

time getent hosts <client-ip>
time sshd -T >/dev/null
systemd-analyze blame

常见根因

  1. UseDNS yes 触发反向解析,DNS 慢或不可达。
  2. GSSAPIAuthentication yes 在无 Kerberos 环境超时。
  3. PAM/LDAP/NIS 认证后端响应慢。
  4. 家目录在 NFS 上,挂载或属性查询慢。
  5. /etc/profile、/etc/motd 或用户脚本执行慢。
  6. 网络 MTU、防火墙或加密算法协商问题。

修复

相关命令