回答:
sshd(サーバー)は、しばらくクライアントから何も聞こえない場合、接続を閉じます。時々、サインオブライフ信号をサーバーに送信するようにクライアントに指示できます。
この設定はファイルにあります~/.ssh/config
。リモートホストに4分ごとに信号を送信するには、以下をに入れます~/.ssh/config
。
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
これは私が私に持っているもの~/.ssh/config
です。
すべてのホストで有効にするには、次を使用します。
Host *
ServerAliveInterval 240
またchmod 600 ~/.ssh/config
、設定ファイルは誰でも読み取り可能ではないため、必ず実行してください。
~/.ssh/config
?
押してEnter、~、.凍結されたセッションから切断するために次々と。
sshのマニュアルページの「エスケープ文字」セクションで、基礎となる詳細について説明しています。
EscapeChar ~
して/etc/ssh/ssh_config
(または~/.ssh/ssh_config
あなたが好む場合)。
EscapeChar ~
すでに組み込みのデフォルトです。
これもあなたの質問に対する直接的な答えではなく、あなたが抱えている問題に深く関係しています。代わりアライブ接続を維持しようとする(すべての接続は最終的に死ぬ)あなたは次のように、ターミナルマルチプレクサを使用することができますscreen
し、tmux
お使いの端末が切断された場合でも、それはバックグラウンドでセッションを存続。
基本的に、SSHサーバーにログインするとすぐに実行さscreen
れ、新しいセッションが作成されてアタッチされます。
$ screen
次に、通常どおりシェルを使用して作業を進めます。接続が切断された場合、オンラインに戻ってSSH経由でサーバーに再接続すると、現在のセッションのリストが表示されます:
$ screen -ls
セッションに再接続するには:
$ screen -r <session>
ここ<session>
で、PIDまたはセッション名です。セッションに再接続され、中断したところから続行できます!
セッションを切断し、自宅から再接続して、中断した正確なポイントから再開することもできます。使用するセッションをデタッチするにC-a
は、C-d
(thats Control + A
and then Control + D
)を続けます。
ある簡単なオンラインチュートリアルでは、同様に。
使用するscreen
とtmux
、リモートサーバー上で考えられているベストプラクティスとされて強くお勧めします。一部の人はscreen
デフォルトのログインシェルまで持っているので、接続するとすぐに新しいscreen
セッションを開始します。
SSHサーバー側からアイドルタイムアウト間隔を設定することもできます。
ファイル: /etc/ssh/ssh_config
コンテンツ:
ClientAliveInterval XX
ClientAliveCountMax YY
これは、クライアントの設定とまったく同じように機能しますが、nullパケットはクライアントではなくサーバーから送信されます。
から抽出:
http://www.sysadmit.com/2016/02/linux-y-vmware-ssh-evitar-desconexion.html