SSH启用UseDNS导致SSH登录或数据传输速度变慢的解决方法
问题描述
在Linux实例中,通过外网使用SSH服务登录或数据传输时,速度很慢,即使是使用内网登录或数据传输也很慢。
问题原因
该问题可能是由于SSH服务启用了UseDNS特性所致。
解决方案
阿里云提醒您:
•如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
•如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
•如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
1.登录Linux实例,关于如何登录Linux实例,请参考使用管理终端连接Linux实例。
2.执行如下命令,查看/etc/ssh/sshd_config文件。
cat /etc/ssh/sshd_config
确认输出信息包含类似如下内容。
UseDNS yes
3.由于需要修改相关策略配置,建议先进行文件备份。
4.使用vi等编辑器,删除策略配置,也可以注释策略配置,在策略配置前添加 #,如下所示。
# UseDNS no
5.执行如下命令,重启SSH服务使配置生效。
service sshd restart
更多信息
•UseDNS特性是SSH服务的安全增强特性,默认未开启。开启后,服务端会先根据客户端IP进行DNS PTR反向查询,得到客户端主机名。再根据得到的客户端主机名进行DNS正向A记录查询,最后比对得到的IP与原始IP是否一致,用以防止客户端欺骗。
•通常情况下,客户端使用的都是动态IP,没有相应的PTR记录。所以,该特性开启后,不仅无法用于信息比对,反而由于相关查询操作增加了操作延迟,最终导致客户端连接速度变慢。
•如果还存在问题,可以参阅通过SSH无法远程登录Linux实例的排查指引,进一步排查分析。
适用于
•云服务器 ECS
我有话说: