SSH 登录总要等好几秒?多半是这两个默认配置在拖

举报
yd_241984912 发表于 2026/10/28 17:21:31 2026/10/28
【摘要】 SSH 登录总要等好几秒?多半是这两个默认配置在拖每次 ssh 登录,输完密码(或密钥通过)后要等好几秒才出现 shell 提示符,命令本身没问题,就是登录过程卡住了。这类"登录慢"十有八九不是网络慢,而是服务端两个默认配置在拖时间。 先定位:卡在哪一步别猜,直接看详细过程:ssh -vvv user@host盯着输出里停顿最久的那一段。常见两种卡法:卡在 Next authenticat...

SSH 登录总要等好几秒?多半是这两个默认配置在拖

每次 ssh 登录,输完密码(或密钥通过)后要等好几秒才出现 shell 提示符,命令本身没问题,就是登录过程卡住了。这类"登录慢"十有八九不是网络慢,而是服务端两个默认配置在拖时间。

先定位:卡在哪一步

别猜,直接看详细过程:

ssh -vvv user@host

盯着输出里停顿最久的那一段。常见两种卡法:

  • 卡在 Next authentication method: gssapi-with-mic 之后:客户端在尝试 GSSAPI(Kerberos)认证,服务端没有 Kerberos 环境,尝试超时才往下走;
  • 卡在密钥认证通过、出现 shell 提示符之前:服务端在对你的 IP 做反向 DNS 解析,查不到 PTR 记录就一直等到超时。

对上号了再改,没对上就别乱改配置。

元凶一:GSSAPI 认证

不少发行版的 ssh 客户端默认开启 GSSAPI,服务端也默认接受。没有 Kerberos 的环境里,这一步纯属空转。

客户端先关掉它(只影响你这台机器,不动服务端):

# ~/.ssh/config
Host *
    GSSAPIAuthentication no

改完立刻生效,下次登录就不再尝试 GSSAPI。如果只有你一个人觉得慢,改客户端就够了。

元凶二:UseDNS 反查

sshd 默认 UseDNS yes:每次登录都要把客户端 IP 反查成域名,写进日志。内网 IP、没有 PTR 记录的公网 IP、DNS 本身慢的机器,这一查就是几秒。

服务端关掉它(需要 root,改 /etc/ssh/sshd_config):

UseDNS no

改之前先检查配置语法,再重启服务:

sshd -t
systemctl restart sshd

注意两点:

  1. 重启 sshd 不会断开已有的会话,但保险起见,先别关当前窗口,另开一个窗口确认能正常登录,再关旧的;
  2. 关掉 UseDNS 后,登录日志里的来源只剩 IP、不再有主机名——如果你靠主机名做审计,就别关这一项,改从 DNS 侧修 PTR 记录。

小结

登录慢先 ssh -vvv 看卡点:卡在 GSSAPI 就关客户端的 GSSAPIAuthentication,卡在出提示符之前就关服务端的 UseDNS。两个都是默认配置,不改功能、只省掉无谓的等待——登录过程里的每一次超时,都是在为用不上的默认配置买单。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。