sshd尝试使用UseDNS no反向DNS查找

sshd似乎几乎总是尝试在新连接上执行反向DNS查找。 对于没有PTR条目的主机,这会导致每个查询延迟5秒。 有时它立即接受连接,有时会尝试解决一次,有时两次。 我试图连接到服务器时使用tcpdump port 53观察此。 我真的不知道为什么它有时试图查找两次。

这似乎是一个相当常见的问题,标准响应是/ etc / ssh / sshd_config中的UseDNS no 。 不过,我已经有了这个选项,sshd仍然试图执行这些反向查找。

我在这里find另外一个build议。 我试图添加-u0到/ etc / default / ssh,但似乎没有改变任何东西。

在这一点上,我没有任何意见,任何build议都会受到欢迎。

    现在最常见的罪魁祸首是GSSAPI:

     /etc/ssh/sshd_config: GSSAPIAuthentication no 

    其他三个Linux平台的罪魁祸首已经在其他答案中提到:

    • sshd添加一个命令行选项-u0
    • 设置UseDNS no
    • 不要在authorized_keys文件中使用from=hostname

    使用DNS = no不会阻止sshd执行DNS查找,而是防止在PTRlogging不匹配时拒绝客户端。

    -u0防止sshd在utmp结构中loggingDNS名称。

    查找可能仍然发生,取决于用户在其authorized_keys中的内容。

    看到这样的一个体面的解释:

    http://lists.freebsd.org/pipermail/freebsd-stable/2006-November/030886.html

    修改/ etc / ssh / sshd_config中的那些端口22,UseDNS yes,UsePAM no,UseLogin no,

    并使:服务sshd重新启动

    好吧,这已经有一段时间了,但事实certificate,下次重启服务器时,延迟消失了。 我不知道发生了什么,但它一定是我试过的东西之一,显然只是重新启动sshd是不够的。

    在我的情况下,问题是hosts.allow和/或hosts.deny文件中的条目,导致它做DNS查找。 根据文档,configuration文件中的Allow和Deny指令也会发生同样的情况。

    同时禁用GSS身份validation可以帮助解决这个问题。