sshdは、ほとんどの場合、新しい接続でDNS逆引き参照を実行しようとするようです。 PTRエントリのないホストの場合、これによりクエリごとに5秒の遅延が発生します。すぐに接続を受け入れることもあれば、1回解決することもあれば、2回解決することもあります。サーバーに接続しようとしているときにtcpdump port 53
を使用してこれを観察しました。なぜ2度検索しようとするのか、本当にわかりません。
これはかなり頻繁な問題のようで、標準の応答は/ etc/ssh/sshd_configのUseDNS no
です。ただし、私はすでにこのオプションを設定しており、sshdはこれらの逆ルックアップを実行しようとしています。
別の提案 here が見つかりました。/etc/default/sshに-u0を追加しようとしましたが、何も変更されていないようです。
現時点ではアイデアがありません。どんな提案でも歓迎します。
さて、久しぶりですが、次回サーバーを再起動したときに遅れがなくなったことがわかりました。何が起こったのかはわかりませんが、それは私が試みたものの1つであったに違いなく、sshdを再起動するだけでは不十分でした。
最近最もよくある原因はGSSAPIです。
/etc/ssh/sshd_config:
GSSAPIAuthentication no
Linuxプラットフォームの他の3つの原因は、他の回答で言及されています。
sshd
コマンドラインオプション-u0
に追加UseDNS no
from=hostname
ファイル内でauthorized_keys
を使用しないDNS = noを使用すると、sshdがDNSルックアップを実行するのを防ぐことができます。PTRレコードが一致しない場合にsshdがクライアントを拒否するのを防ぐことができます。
-u0は、sshdがDNS名をutmp構造体に記録しないようにします。
ユーザーがauthorized_keysに持っているものに応じて、ルックアップは依然として発生する可能性があります。
きちんとした説明についてはこれを見てください:
http://lists.freebsd.org/pipermail/freebsd-stable/2006-November/030886.html
/ etc/ssh/sshd_configポート22、UseDNS yes、UsePAM no、UseLogin no、
そして作る:service sshd restart
私の場合、問題はhosts.allowおよび/またはhosts.denyファイルのエントリであり、DNSルックアップを実行させました。ドキュメントによると、設定ファイルのAllowおよびDenyディレクティブについても同じことが起こります。