KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

LinuxのSSHクライアント側でTimeoutを設定する。

登録日 :2024/04/12 06:35
カテゴリ :Linux

LinuxでSSHを行うとき、No root HostなどのエラーがなくSSHを待ち続けることがある。適切にSSH応答のタイムアウトを設けたい。

SHクライアント側でのタイムアウト設定を変更するには、クライアントのSSH設定ファイル (~/.ssh/config もしくは /etc/ssh/ssh_config) を編集します。以下の手順に従ってください。

SSHクライアントの設定ファイルを開きます。

nano ~/.ssh/config  # 個人の設定ファイルを編集する場合
sudo nano /etc/ssh/ssh_config  # システム全体の設定ファイルを編集する場合

タイムアウト設定を追加または変更します。以下のような行を追加します。

Host *
    ServerAliveInterval 300
    ServerAliveCountMax 3

ServerAliveInterval: サーバーからの最後のメッセージからこの秒数経過したらタイムアウトが発生します。
ServerAliveCountMax: サーバーからのメッセージがこの回数以上続かない場合にタイムアウトが発生します。

ファイルを保存して閉じます。

これでSSHクライアント側のタイムアウト設定が変更されました。SSH接続がタイムアウトするまでの時間が設定されました。

設定が反映されなければ、サービスを再起動する。

sudo systemctl restart sshd