在日常运维中,有时会遇到 SSH 登录 Linux 服务器非常缓慢 的情况,表现为输入用户名后需要等待数秒甚至十几秒才能进入系统。
遇到该问题时,建议按以下思路排查和优化。
一、登录 SSH 慢的常见原因
SSH 登录慢通常不是服务器性能问题,而是以下原因导致:
-
DNS 反向解析超时
-
GSSAPI 认证机制等待
-
网络环境不稳定
-
SSH 客户端或服务端配置不合理
本文重点介绍 最常见、最有效的两个优化项。
二、关闭 UseDNS 反向解析(最常见原因)
1️⃣ 问题说明
SSH 在用户登录时,默认会进行 DNS 反向解析,如果 DNS 配置异常或网络延迟较高,就会导致登录过程明显变慢。
2️⃣ 检查 DNS 配置(可选)
查看 DNS 配置文件:
vi /etc/resolv.conf
确保 DNS 服务器地址正常可用。
3️⃣ 修改 SSH 服务端配置
编辑 SSH 服务端配置文件:
vi /etc/ssh/sshd_config
找到或新增以下配置项:
UseDNS no
默认值通常为 yes,将其改为 no 可跳过 DNS 反查过程。
4️⃣ 重启 SSH 服务
CentOS 7 / 8:
systemctl restart sshd
三、关闭 GSSAPIAuthentication 认证(推荐关闭)
1️⃣ 什么是 GSSAPIAuthentication?
GSSAPIAuthentication 是 SSH 支持的一种高级认证方式,常用于 Kerberos 认证环境。
在普通服务器(非 Kerberos 环境)中:
-
不仅用不到
-
还会增加认证等待时间
-
常导致 SSH 登录卡顿
2️⃣ 修改 SSH 客户端配置
编辑客户端配置文件:
vi /etc/ssh/ssh_config
设置:
GSSAPIAuthentication no
3️⃣ 修改 SSH 服务端配置
编辑服务端配置文件:
vi /etc/ssh/sshd_config
设置:
GSSAPIAuthentication no
4️⃣ 重启 SSH 服务
systemctl restart sshd
四、优化完成后的效果
完成以上配置后:
-
SSH 登录基本实现 秒进
-
不再卡在 login 或 password 阶段
-
适用于绝大多数云服务器 / VPS / 物理服务器
五、推荐的 SSH 登录优化配置示例
UseDNS no GSSAPIAuthentication no
这两项配置 强烈建议作为默认优化项。
六、总结
如果你遇到 SSH 登录 Linux 服务器慢的问题,优先排查:
-
UseDNS 反向解析
-
GSSAPIAuthentication 认证等待
这两项几乎解决了 90% 的 SSH 登录慢问题,且配置简单、风险极低。
原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/18575.html