SSH启用UseDNS导致连接速度变慢的解决方法

SSH启用UseDNS导致连接速度变慢

注意:本文相关 Linux 配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。

问题现象

当使用 SSH 登录Linux 京东云服务器时,即便是通过内网进行登录或数据传输,速度也非常慢。

问题原因

该问题可能是由于 SSH 服务启用了 UseDNS 特性所致。

UseDNS特性是 SSH 服务的安全增强特性,默认未开启。开启后,服务端会先根据客户端 IP进行 DNS PTR 反向查询,得到客户端主机名。再根据得到的客户端主机名进行 DNS 正向 A 记录查询,最后比对得到的 IP 与原始 IP 是否一致,用以防止客户端欺骗。

但通常情况下,客户端使用的都是动态 IP,没有相应的 PTR 记录。所以,该特性开启后,不仅无法用于信息比对,反而由于相关查询操作增加了操作延迟,最终导致客户端连接速度变慢。

处理办法

要解决此问题,请进行如下配置检查和修改。

1.通过 VNC 进入系统。

2.通过 cat 等指令查看 /etc/ssh/sshd_config 中是否包含类似如下配置:

UseDNS yes

3.如果需要修改相关策略配置,在继续之前建议进行文件备份。

4.使用 vi 等编辑器,将参数值设置为 no,或者整个删除或注释(在最开头添加 # 号)整行配置。比如:

#UseDNS yes

5.使用如下指令重启 SSH 服务,重新验证能否正常启动服务:

service sshd restart

标签

发表评论