温馨提示×

centos ssh速度慢怎么解

小樊
41
2026-09-05 20:28:20
栏目: 智能运维

CentOS 下 SSH 登录慢,常见原因和对应解决办法如下,按最常见 → 较少见顺序排列,你可以逐项排查。


一、最常见原因:DNS 反向解析慢(90% 情况)

SSH 默认会对客户端 IP 做 反向 DNS 解析,如果 DNS 不通或很慢,就会卡很久。

解决方法

编辑 SSH 服务端配置:

vi /etc/ssh/sshd_config

修改或添加:

UseDNS no

如果有这一行也建议关掉 GSSAPI:

GSSAPIAuthentication no

重启 SSH:

systemctl restart sshd

这一步通常能立刻见效


二、PAM / 登录模块慢

1. 关闭不必要的 PAM 模块

编辑:

vi /etc/ssh/sshd_config

确保:

UsePAM yes

但检查:

vi /etc/pam.d/sshd

注释掉明显不必要的模块(如 pam_systemd 在某些场景会慢)


三、客户端 known_hosts / 密钥慢

客户端加速(连接方)

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host

长期方案:

vi ~/.ssh/config
Host *
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

四、网卡 / 系统层面问题

1. 查看真实延迟在哪

time ssh user@host echo ok

2. 防火墙 / SELinux

临时测试:

setenforce 0
systemctl stop firewalld

五、系统资源问题(少见)

  • CPU 负载高
  • 磁盘 IO 卡死
  • systemd-logind 异常

排查:

top
iostat -x 1
journalctl -u sshd -f

六、IPv6 导致慢(某些环境)

禁用 IPv6 测试:

ssh -4 user@host

如有效,可禁用 IPv6:

sysctl -w net.ipv6.conf.all.disable_ipv6=1

快速“万能三连”(推荐先试)

sed -i 's/^#*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
sed -i 's/^#*GSSAPIAuthentication.*/GSSAPIAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd

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

  • CentOS 版本(7 / 8 / Stream)
  • 登录慢 还是 输入命令慢
  • 本地还是云服务器

我可以给你更精准的方案。

0