Linux系统运行Redhat 5.1。
当我使用 SSH 连接到计算机时,在登录完成并获得 shell 之前会出现很长的延迟。
我做了一些研究,找到了这个问题的解决方案,建议我删除/etc/resolv.conf, 然后登录就会很快。我尝试这样做并且确实有效;删除/etc/resolv.conf加速的东西。
所以现在我想了解为什么这会导致问题,以及如何在不破坏名称解析的情况下快速登录 SSH。
更新:UseDNS no已在sshd_config(但尚未解决问题)
作为连接到 ssh 服务器时的安全措施,服务器将对您连接的 IP 地址执行多次 DNS 查找。这些 DNS 检查需要一段时间,特别是如果没有为您连接的 IP 地址正确设置反向区域。
/etc/ssh/sshd_config您可以设置一个选项来禁用 DNS 检查。具体来说,您需要设置UseDNS no.
使用DNS
指定 sshd(8) 是否应查找远程主机名并检查远程 IP 地址的已解析主机名是否映射回完全相同的 IP 地址。默认值为“是”。
另一个常见的问题来源可能与tcpwrappers有关。如果 SSH 被编译为使用 tcpwrappers,并且 tcpwrappers 被编译为执行 DNS 查找,那么您可以从中看到速度缓慢。
如果您从网络内部进行连接,则大部分延迟将通过设置适当的反向 DNS 区域来解决。