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

kon*_*iik 8 ssh reverse-dns

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

这似乎是一个相当常见的问题,标准响应UseDNS no在 /etc/ssh/sshd_config.conf 中。但是,我已经设置了这个选项并且 sshd 仍在尝试执行这些反向查找。

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

我现在没有想法,欢迎任何建议。

kub*_*zyk 10

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

/etc/ssh/sshd_config:
GSSAPIAuthentication no
Run Code Online (Sandbox Code Playgroud)

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

  • 添加到sshd命令行选项-u0
  • UseDNS no
  • 不要使用from=hostname内部authorized_keys文件


qua*_*cky 5

使用 DNS = no 不会阻止 sshd 执行 DNS 查找,它会阻止它在 PTR 记录不匹配时拒绝客户端。

-u0 防止 sshd 在 utmp 结构中记录 DNS 名称。

根据用户在其authorized_keys 中拥有的内容,查找可能仍会发生。

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

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


kon*_*iik 0

好吧,已经有一段时间了,但事实证明,下次我们重新启动服务器时,延迟就消失了。我不知道发生了什么,但这一定是我尝试过的事情之一,显然仅仅重新启动 sshd 是不够的。