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

 

如果您的问题仍未解决,您可以联系【云技术在线】工程师。

【云技术在线】免费提供阿里云、华为云、腾讯云的产品选型,架构设计,安装配置,故障排查,数据迁移等技术服务,有任何需求请与我们联系!13121395187(微信同号)