温馨提示×

Ubuntu SSH登录慢怎么解决

小樊
46
2026-08-23 00:38:55
栏目: 智能运维

Ubuntu 通过 SSH 登录慢,常见原因和对应解决方法如下(按出现频率排序):


一、最常见原因:DNS 反向解析

现象
输入密码后等待很久才进入系统。

原因
SSH 默认会对客户端 IP 进行 DNS 反向解析。

解决方法

sudo vim /etc/ssh/sshd_config

添加或修改:

UseDNS no

重启 SSH:

sudo systemctl restart sshd
# 或
sudo systemctl restart ssh

✅ 90% 的情况能解决


二、GSSAPI 认证导致慢

现象
连接过程卡在认证阶段。

解决方法

GSSAPIAuthentication no

位置:/etc/ssh/sshd_config

然后重启 SSH。


三、IPv6 导致的延迟

现象
SSH 尝试 IPv6 连接失败再转 IPv4。

解决方法

方法 1:服务器禁用 IPv6(推荐)

AddressFamily inet

方法 2:客户端连接时禁用 IPv6

ssh -4 user@ip

四、SSH 客户端超时(首次连接慢)

原因
DNS、密钥交换慢。

客户端优化(可选)

# ~/.ssh/config
Host *
    GSSAPIAuthentication no
    PreferredAuthentications publickey,password

五、密钥交换算法太慢(老系统)

检查

ssh -v user@ip

解决

KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256

六、系统负载或磁盘 IO 问题

排查

top
iostat -x 1

如果是磁盘慢,可能是:

  • 日志写入慢
  • 磁盘故障

七、PAM / systemd 登录慢

排查

journalctl -u ssh

常见原因

  • LDAP
  • NTP
  • 磁盘挂载慢

八、快速排查命令(推荐)

ssh -v user@ip

观察卡在哪一步:

  • pledge: network → DNS
  • Authentications that can continue → GSSAPI
  • expecting SSH2_MSG_KEX → 密钥交换

九、推荐的最简优化配置 ✅

UseDNS no
GSSAPIAuthentication no
AddressFamily inet

如果你愿意,可以把 ssh -v 的输出卡在哪一步 发我,我可以精准帮你定位。

0