航海日誌

宇宙暦: 00515.00 からときどき日記 zep

ssh や ftp の接続が遅い

ubuntusshd, ftpd を上げといて ssh, ftp で接続するとかなり待たされる事がありますが、 hosts に登録していないマシンからの場合に dns を回ってルックアップしているせいなのでいっそ止めてしまいましょう。
(FAQ話です。今さらですけれど書いてみました)

sshd の場合

本家翻訳のここに載っていますOpenSSH FAQ http://www.openssh.com/ja/faq.html#3.3

3.3 - ssh(1) が接続する、あるいはログインするのに時間がかかる。

ひじょうに長い遅延 (10秒以上) はふつうホストの名前解決によって ひきおこされます:

glibc のいくつかのバージョン (とくに Red Hat Linux 6.1 に付いている glibc) では、 ドメイン名から "IPv6 あるいは IPv4 の" アドレスを解決するのに時間がかかります。 この問題は、ssh_config 設定ファイルで AddressFamily inet を加えることでとりあえず解決することができます。
クライアント側あるいはサーバ側の DNS の参照に問題がある場合もあります。 クライアント側とサーバ側で nslookup コマンドを使って、お互いの名前と IP アドレスを 検索してみてください。さらに、クライアントの IP 名検索で返された名前をサーバ側で検索します。 sshd_config 設定ファイルに UseDNS no を加えることで ほとんどのサーバ側の DNS 検索を抑えることができます。

というわけでこのように追加しました。

sudo vi /etc/ssh/sshd_config

useDNS no

の一行を追加します。

proftpd の場合

sudo vi /etc/proftpd/proftpd.conf

UseReverseDNS off

の一行を追加します。