web-dev-qa-db-ja.com

接続時のssh遅延

1つの特定のサーバー(Debian Lennyを実行している)に接続する場合、パスワードの入力を求めるプロンプトが表示されるまで、常に約5秒かかります。ログイン後、目立った遅延はもうありません。このネットワーク内の他のサーバーでも遅延はありません(ただし、サーバーはLennyを実行していません)。

これを引き起こしている可能性のあるものとそれを修正する方法はありますか?

6
user51326

ほとんどの場合、DNSの問題です。 sshd_configで「UseDNSno」を設定してみてください。

6
3molo

逆引きDNSルックアップの遅延である可能性があります。接続しているホストにDNSエントリがない場合は、接続しているサーバーの/ etc/hostsにソースシステムのエントリを追加してみてください。

4
ewwhite

3molosの回答に加えて、ネットワーク上で利用可能なDNSサーバーがある場合、ボックスの/etc/resolve.confに正しいDNSサーバーが設定されていることを確認することもできます。これにより、遅延も防止されます。

1
Avada Kedavra

DNS解決が正常に機能している場合は、avahi-daemonサービスをオフにします。それはあなたの問題を解決します。

/etc/init.d/avahi-daemon stop

もしそうなら(同じ問題があったのでそうなると思います)、次の再起動で再び起動しないように、永久にオフにする必要があります。これはsysv-rc-confで行うことができます(最初にインストールする必要があります)。 update-rc.dでそれを行うことができますが、マンページには次のようにすべきではないと書かれています。

このプログラムはパッケージメンテナースクリプトで使用するために設計されているため、そのようなスクリプトに必要な機能は非常に限られていることに注意してください。システム管理者は、update-rc.dを使用してランレベルを管理することはお勧めしません。リンクを直接編集するか、代わりにsysv-rc-confやbumなどのランレベルエディターを使用する必要があります。

sysv-rc-confは、RedHatベースのディストリビューションのchkconfigとよく似ています。

多くのサーバーでこれを行う必要がある場合は、cfengineなどの構成管理を使用してください。 cfengine2のセットアップ用にこれがあります。

classes:
debian::
    # if this does not return 0 then ..
    avahi_off = ( !ReturnsZero(/usr/sbin/sysv-rc-conf avahi-daemon) )

shellcommands:
avahi_off::
    # ... deactivate the avahi daemon
    "/usr/sbin/sysv-rc-conf avahi off" inform=true
    "/etc/init.d/avahi... stop" inform=true
1
natxo asenjo

SSHがコンピューターに接続するのに約30秒かかる のように、5秒の遅延ではなく30秒の遅延である場合があります。悲しいことに、その質問はこれの複製としてマークされていました。おそらく別の問題だと思います。

私の場合、CSFのセットアップが適切でなく、メモリの使用量が多すぎるか、実行時間が長すぎる場合でも、/ bin/dbus-daemonを再起動し続けました。 dbusが再起動され、systemd-logindが再起動されない場合、/ var/log/messagesにそれらの行が表示されるという既知のバグがあります。

Jan  4 21:02:25 rtw dbus-daemon: dbus[9976]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
Jan  4 21:02:25 rtw dbus[9976]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service'
Jan  4 21:02:50 rtw dbus[9976]: [system] Failed to activate service 'org.freedesktop.login1': timed out
Jan  4 21:02:50 rtw dbus-daemon: dbus[9976]: [system] Failed to activate service 'org.freedesktop.login1': timed out

SSH接続が最初に開始されたときは21:02:25、接続が確立されたときは21:02:50。したがって、待機時間は設定されたタイムアウト時間と同じです。

systemd-logindを再起動するだけで問題を修正できます

systemctl restart systemd-logind

私にとっては、追加の手順でdbusがCSF/LFDにホワイトリストに登録されていることを確認します。

0
Steven Teo