注意:この記事はブロガーから来ている:chloneda
問題のシナリオ
SSHリモート端末接続サービスは、多くの場合、自動的に非アクティブの長い期間、または無応答の後に切断されます、キーボードから、だけ切断して再接続するように強制されません。
SSHを維持する方法自動的に接続を切断した後に再接続する、またはそれを抜いはありますか?いくつか!
ソリューション
オプション1:クライアントがハートビートを送信
Linux / Unixの下では、SSHの設定ファイルを編集します。
vim /etc/ssh/ssh_config
ファイルに以下を追加します。
ServerAliveInterval 20
ServerAliveCountMax 999
- ServerAliveInterval:サーバーのハートビート(アライブ検出)に、クライアントから送信し、何秒間隔を示しています。
- ServerAliveCountMax:サーバがどのように多くのビートに何の応答を表していない後、クライアントがサーバへのSSH接続が切断された検討し、その後、切断されます。
上記構成では、言った:20秒ごとに、ハートビートがサーバに送信されます。せいぜい999倍の送信要求が成功した場合は、アクティブなサーバーから切断。
スキームII:サーバがハートビートを送信
サーバー側では、設定ファイルのsshを編集します。
sudo vim /etc/ssh/sshd_config
ファイルに以下を追加します。
ClientAliveInterval 60
ClientAliveCountMax 3
- ClientAliveInterval:秒数ごとを表し、それがクライアントのハートビートにサーバから送信されます。
- ClientAliveInterval:クライアントは、拍数の後に応答しないことを意味し、サーバーは、クライアントが切断されていることを前提とし、その後、切断されます。
上記構成は、言った:60秒ごとに、クライアントにサーバ側がハートビートを送信します。クライアントの要求が3倍以上の応答でない場合は、クライアント接続がサーバーから切断されます。
したがって、許容総応答時間は、3 * 60 = 180秒以上です。
実際には、定期的にハートビートを送信するSSHクライアントに依存して、パテ、のSecureCRTは、XShellツールも、この機能を持っています。
完成しました!