温馨提示×

centos为何ssh速度慢

小樊
52
2026-09-02 16:38:11
栏目: 智能运维

在 CentOS 上 SSH 登录速度慢(连接或输入密码后等待很久)是非常常见的问题,通常不是网络本身慢,而是 SSH 服务端在做额外检查或解析。下面按最常见 → 较少见给你梳理原因和解决办法。


一、最常见原因(90% 情况)

1️⃣ DNS 反向解析导致慢(最常见)

SSH 默认会尝试对客户端 IP 做 reverse DNS 查询

如果 DNS 服务器不可达或响应慢,就会卡很久。

✅ 解决方法(推荐):

vi /etc/ssh/sshd_config

修改或添加:

UseDNS no

然后重启 sshd:

systemctl restart sshd

2️⃣ GSSAPI 认证导致慢

CentOS 默认启用 GSSAPI,会在登录时尝试 Kerberos 认证。

✅ 解决方法:

vi /etc/ssh/sshd_config

设置:

GSSAPIAuthentication no

重启:

systemctl restart sshd

客户端也可以加参数测试:

ssh -o GSSAPIAuthentication=no user@host

二、登录后“卡一下”才出提示

3️⃣ PAM 模块慢(尤其是 pam_systemd / login)

常见于:

  • systemd 版本 bug
  • 用户 session 创建慢

可临时测试:

ssh -o PreferredAuthentications=password user@host

查看日志:

journalctl -xe

4️⃣ /etc/hosts 配置问题

如果服务器 hostname 不在 /etc/hosts 中,也可能导致慢。

✅ 建议:

vi /etc/hosts

添加:

127.0.0.1   localhost localhost.localdomain
::1         localhost

三、网络 & 安全相关

5️⃣ SELinux / firewall 延迟(较少但存在)

个别情况下:

  • SELinux 策略重载
  • firewalld 做连接追踪

可临时测试:

setenforce 0

6️⃣ 网络 MTU / 丢包

如果:

  • SSH 握手慢
  • scp 很慢

可测试:

ping -s 1472 host

四、快速诊断方法(强烈推荐)

✅ 看卡在哪一步

ssh -v user@host

你会看到卡在:

  • expecting SSH2_MSG_SERVICE_ACCEPT → DNS / GSSAPI
  • pledge: network → PAM / systemd

五、一键优化(常用组合)

UseDNS no
GSSAPIAuthentication no
systemctl restart sshd

六、CentOS 版本差异

系统 特点
CentOS 6 默认 UseDNS yes
CentOS 7 GSSAPI 容易慢
CentOS 8/Stream systemd session 慢常见

如果你愿意,可以告诉我:

  • CentOS 版本(cat /etc/redhat-release
  • 连接慢 还是 输密码后慢
  • 是否域环境 / LDAP

我可以给你更精确的建议。

0