温馨提示×

centos ssh速度慢怎么调

小樊
31
2026-10-05 16:15:17
栏目: 智能运维

在 CentOS 上 SSH 登录慢,通常是 DNS 反向解析、GSSAPI、密钥交换算法、或者网络问题 导致的。下面按“最常用 → 进阶”给你一套排查和调优方法。


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

1️⃣ 关闭 DNS 反向解析(最有效)

SSH 默认会做反向 DNS 解析,如果 DNS 不通会很慢。

修改服务端配置:

vi /etc/ssh/sshd_config

确保有以下内容:

UseDNS no

重启 sshd:

systemctl restart sshd

2️⃣ 关闭 GSSAPI 认证

GSSAPI 在域环境外基本没用,但会拖慢连接。

vi /etc/ssh/sshd_config

修改或添加:

GSSAPIAuthentication no

重启:

systemctl restart sshd

3️⃣ 客户端也关一下(登录慢在连接阶段)

编辑客户端配置:

vi ~/.ssh/config

加入:

Host *
    GSSAPIAuthentication no
    ForwardX11 no

二、慢在“输入密码后 / 登录后”

4️⃣ 检查 PAM / 登录脚本

可能慢在:

  • /etc/profile
  • ~/.bashrc
  • ~/.bash_profile
  • PAM 模块(如 pam_systemd)

测试:

time ssh user@host echo ok

如果“密码输入后”慢:

ssh -o PreferredAuthentications=password user@host

5️⃣ 禁用 PAM(不推荐生产随便改)

UsePAM no

⚠️ 改之前确认不会影响 sudo / 密码登录


三、网络 & 加密算法问题

6️⃣ 测试是否是网络问题

ping ip
mtr ip

7️⃣ 调整加密算法(老机器明显)

编辑 /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/secure
  • 是否启用了 TCP Wrappers
  • 是否有 fail2ban / 安全软件拦截

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

  • CentOS 版本(7 / 8 / Stream)
  • 慢在「连接阶段」还是「登录后」
  • 是密码登录还是密钥登录

我可以给你更精确的配置。

0 踩