GNU/Linux >> Linux の 問題 >  >> Linux

しばらくアイドル状態だった場合に SSH が切断されないようにする方法

<ブロック引用>

明確にするために:私は、ログイン後に一度開始し、その端末を使用して立ち去り、2 時間後に戻ってきて、立ち去る前に何も入力せずに作業を続けたいという解決策を探しています.

問題は、アイドル セッションをドロップしている何か (通常はファイアウォールまたはロード バランサー) があることです。セッション キープアライブを構成すると、キープアライブにより、ネットワーク デバイスがセッションをアイドル状態と見なすことがなくなります。

Linux / Unix / Cygwin OpenSSH の修正 :
最も簡単な修正は、ssh クライアントのキープアライブを有効にすることです。この例では、60 秒ごとに ssh キープアライブを送信します:

ssh -o "ServerAliveInterval 60" <SERVER_ADDRESS>

すべてのセッションでこれを有効にしたい場合は、これを /etc/ssh/ssh_config に入れます または ~/.ssh/config :

ServerAliveInterval 60

詳細については、ssh_config を参照してください。 マンページ

パテ修正 :

これを PuTTY の「デフォルト設定」に保存します...

  • [接続] をクリックします
  • 「キープアライブ間の秒数」に 60 と入力


Mike Pennigton の回答に加えて、ServerAliveCountMax についてお知らせします。

  • ServerAliveInterval キープアライブを x 秒ごとに送信します (デフォルトは 0 です) 、他の何かに設定されていない場合、この機能を無効にします)。
  • これが行われます ServerAliveCountMax 応答が受信されない場合。 ServerAliveCountMax のデフォルト値 3 です (マンページ ssh_config を参照)。

例:ServerAliveInterval を設定した場合 60まで ServerAliveCountMax のままにします そのまま、これはキープアライブが 3 * 60 = 180 seconds = だけ待機することを意味します 3 やめる数分前。

これを例えば接続を維持しようと 2 時間かかる場合、できること:

コマンドごと:

したがって、

の設定を検討する必要があります。
ssh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 120" <SERVER_ADDRESS>

継続:

永続的にするには、/etc/ssh/ssh_config に書き込みます (システム全体に適用されます) または ~/.ssh/config (ユーザーのみに適用されます):

ServerAliveInterval 60
ServerAliveCountMax 120

注意

dislick が正しく指摘したように、状況によっては、これはあなたが望むものではないかもしれません:

  • サーバーが応答しなくなったらすぐにセッションを終了したい場合は、ServerAliveCountMax に低い値を選択する必要があります。 .
  • すでに確立されている接続を維持したい場合 (例:電車で移動し、待ち時間が長い場合)、ServerAliveCountMax に高い値を選択する必要があります。 ssh を許可する 接続の再確立を試み続けます。

こちらもご覧ください:

  • unix.stackexchange.com - OpenSSH のデフォルトのアイドル タイムアウトは?

私は Mobaxterm を使用していますが、この問題にも遭遇しました。 Mobaxterm には、クライアントがアイドル状態のときにクライアントを維持するオプションも付属しています。 Settings -> Configuration -> SSH に移動 . SSH settings というタイトルのセクションがあります 、オプション SSH keepalive をチェックします .その後、問題は解消されます。


Linux
  1. シェルがSshから制御されているかどうかを検出する方法は?

  2. 複数のウィンドウのパスワードを入力する方法は?

  3. Journalctl:ターミナルでテキストが切り捨てられないようにする方法は?

  1. Linux – SshからTtyにユーザーをログインさせる方法は?

  2. EC2 から ssh の known_hosts への IP の追加を停止するには?

  3. D-Bus と SSH X-Forwarding を設定して、SSH が終了時にハングしないようにする方法は?

  1. AndroidからLinuxでSSH接続する方法

  2. TmuxがSshで起動しないようにしますか?

  3. `ls`が出力をソートしないようにするにはどうすればよいですか?