SSH启用UseDNS导致SSH登录或数据传输速度变慢

SSH启用UseDNS导致SSH登录或数据传输速度变慢

更新时间:2019-07-21 11:13:31

免责声明:本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

 

问题描述

在Linux实例中,通过外网使用SSH服务登录或数据传输时,速度很慢,即使是使用内网登录或数据传输也很慢。

 

问题原因

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

 

解决方案

  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

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。