SSH连接慢?六个配置教你彻底搞定!
今天分享一下SSH连接慢的问题。
SSH 连接慢是一个常见的问题,尤其是在首次连接或远程主机响应较慢时。以下是导致 SSH 连接缓慢的常见原因及其解决方法。
一、排查思路
在优化 SSH 前,建议你按照以下顺序进行排查:
是否慢在“连接前卡顿”?(提示没出,黑屏数秒)→ 多半是 DNS、GSSAPI、IPv6 问题。是否慢在“输入用户名后卡住”?→ 多半是认证方式问题,比如 GSSAPI、PAM 等。是否只慢在首次连接?→ 检查密钥生成、主机验证缓存。是否只有特定主机连接慢?→ 检查该主机网络、DNS、SSH 配置。二、解决办法
1. 禁用 DNS 反向解析SSH 服务端默认会将客户端 IP 地址反查为主机名,这会导致连接卡顿,尤其当 DNS 服务不稳定时。
解决办法:
修改服务端 /etc/ssh/sshd_config:复制
# 默认为yes,将其设置为no
UseDNS no1.2.
复制
systemctl restart sshd1.
GSSAPI 是用于 Kerberos 网络认证的机制,大多数普通用户并不使用它,但 SSH 默认启用,导致连接变慢。
解决方案:
服务端配置 /etc/ssh/sshd_config:复制
# 默认开启的,将其改为no,表示禁用
GSSAPIAuthentication no1.2.
复制
Host *
GSSAPIAuthentication no1.2.
SSH 默认使用 IPv6,某些网络环境下 IPv6 不通或响应慢,会导致延迟。
解决方案:
客户端配置 ~/.ssh/config:
复制
Host *
AddressFamily inet1.2.
这个设置强制使用 IPv4 连接。
4. 配置本地hosts文件如果你通过主机名(如 liyb)连接 SSH,且该主机名解析依赖外部 DNS,响应慢。
解决方案:
编辑你的本地 /etc/hosts 文件,添加:
复制
10.0.0.100 liyb1.
这样无需再查询 DNS,连接更快。
5. 设置连接超时时间与重试次数SSH 默认尝试连接多次,且默认连接超时时间较长。
解决方案:
客户端配置 ~/.ssh/config:
复制
Host *
ConnectTimeout 5
ConnectionAttempts 21.2.3.
PAM 可能影响 SSH 登录速度,但禁用它会影响系统用户验证机制(如使用密码登录)。【温馨提示】这个要谨慎操作
复制
# /etc/ssh/sshd_config
UsePAM no1.2.
禁用 PAM 后,可能影响 SSH 密码登录。适合只使用密钥认证的环境。
阅读剩余
THE END