运维指南

CentOS 7 SSH 登录很慢时,先怎样做一轮有效优化

一篇面向实操的说明,讲清楚当老 CentOS 7 主机在 SSH 登录前卡很久时,如何先用 optimize_centos7_ssh.sh 处理反向 DNS、GSSAPI 和 IPv6 回退这几类高频原因。

阅读约 6 分钟 · 2026-04-07

什么时候这条脚本应该作为第一步

这条脚本适合那种“SSH 其实能连上,但在出密码提示前,或者进 shell 前明显卡顿”的主机。

这种现象通常不是账号本身的问题,而是 sshd 在等待反向 DNS 解析、GSSAPI 协商,或者陷入了一个能超时但不好用的 IPv6 路径。

脚本改了什么,以及为什么有效

脚本会把三项高频优化写进 sshd_config:UseDNS no、GSSAPIAuthentication no 和 AddressFamily inet。

第一项用来去掉反向解析等待,第二项用来关闭没在用的 Kerberos/GSSAPI 协商,第三项则是避免老机器在问题 IPv6 路径上浪费时间。

optimize_centos7_ssh.sh 备份 sshd_config、执行 sshd -t 校验并成功重启 sshd 时的终端输出
一次正常执行应当看到配置备份、三项 SSH 调优写入、sshd -t 校验通过,以及最后的 sshd 重启。
  • 先备份 /etc/ssh/sshd_config
  • 以幂等方式写入配置,避免重复堆叠
  • 重启前先执行 sshd -t
  • 只有校验通过才重启 sshd

在生产类主机上的推荐执行方式

更稳的做法是保留一个现有 SSH 会话,再从第二个会话执行脚本,只有在确认新连接已经恢复正常后,才关闭原来的登录。

如果这台机器依赖 Kerberos,或者明确依赖 IPv6-only 连通,就不要盲目套这组默认值。这条脚本的目标是先去掉高频卡点,不是替代正式的 SSH 策略评审。

相关专题

CentOS 7 运维恢复

面向仍在运行 CentOS 7 的遗留主机,集中处理 yum 源失效、镜像仓库 404、Docker 数据迁移等运维恢复场景。

查看专题

问题页面

为什么 CentOS 7 的 SSH 登录很慢

最常见的根因是反向 DNS 解析、GSSAPI 认证协商,以及部分老环境里的 IPv6 回退。先把这些等待关掉,再做更深的 SSH 排查。

打开页面