Image

ナレッジベース → SSH 経由で接続するときに長い遅延が発生する原因とトラブルシューティング

[仮想サーバー]
公開日: 07.02.2025

SSHサービスに接続する際、時々コマンドを実行できるようになるまでコンソールが利用可能になるのを長時間待つ必要があります。遅延の原因はさまざまで、このガイドではいくつかの一般的な原因とその解決策を紹介します。

これらの解決策は通常、互いに関連していないため、それぞれを個別に調整し、動作を確認する方が実際の原因を特定しやすくなります。

提供されているコマンドはDebian/Ubuntuに対して動作します。CentOS/Alma/Rockyでは若干異なる場合があります。例えば、サービス名が「ssh」ではなく「sshd」になっている場合がありますので、コマンドを実行する際にはそれを考慮してください。それ以外は同じです。

1. 最も一般的な原因:DNSサーバーの待機

SSHサービスの設定ファイルを開きます:

nano /etc/ssh/sshd_config

UseDNSオプションを無効にして、IPアドレスの逆引き(PTR)を試みないようにします:

UseDNS no

変更後、サービスを再起動します:

service ssh restart

2. 接続タイムアウトが指定されていない

SSHサービスの設定ファイルを開きます:

nano /etc/ssh/sshd_config

次のように設定します:

LoginGraceTime 10s

変更後、サービスを再起動します:

service ssh restart

3. 長い遅延がsystemd-logindサービスに関連している

この場合、auth.logログには通常次のようなイベントが含まれます:

pam_systemd(sshd:session): Failed to create session: Connection timed out

サービスのステータスを確認します:

systemctl status systemd-logind

必要に応じて、restartコマンドでサービスを再起動します。

遅延が続く場合、viまたはnanoを使って次のファイルを開きます:

/etc/pam.d/common-session

次の行をコメントアウトします(#記号を追加):

#session	optional	pam_systemd.so

その後、サービスを再起動します:

systemctl restart systemd-logind

再度試してみてください。ただし、この設定ではコンソールが完全に動作しない場合があるため、この方法は一時的な解決策として検討すべきです。





No Comments Yet