しばらく非アクティブの場合、大きな出力の後に SSH 接続がフリーズする

しばらく非アクティブの場合、大きな出力の後に SSH 接続がフリーズする

しばらくアイドル状態だった SSH セッションを再度使用すると、セッションがフリーズしてしまうという問題が発生します。

問題は、セッションがすぐにフリーズせず、引き続き使用できることです。ただし、コマンドがさらにデータを送信するとすぐに、出力が到着する前にフリーズし、ターミナルを再起動する必要があります。

MTU に関する以前の解決策を読んだことがあるかもしれませんが、そこではセッションが毎回フリーズします。ここでは、一定期間非アクティブになった後にのみ発生します。

ServerAliveInterval 120.ssh/ssh_configで設定していることに注意してください

これを解決する方法について何か手がかりはありますか?

答え1

~/.ssh/ssh_configに変更します~/.ssh/config。権限が 700 であることを確認します。

これ議論sshたくさんの有益な情報があります。また、質問の下にある/sshのタグをクリックして、タグウィキ詳細情報とトラブルシューティングのガイダンスについては、こちらをご覧ください。

答え2

提案:

  • 設定の読み取りに問題がある可能性を排除するために、ではなくコマンド ラインで 、 、および オプションをServerAliveInterval設定ServerAliveCountMaxしてみてください。 を代わりに呼び出す必要があるのではないでしょうか。TCPKeepAlivessh_configssh_configconfig
  • 詳細フラグを(複数回)使用して、説明的なエラーメッセージが表示される可能性を高めます。
  • ServerAliveIntervalSSH セッションを切断する前に、 * がServerAliveCountMaxファイアウォールのアイドル時間のしきい値よりも小さいことを確認してください(ネットワーク管理者に問い合わせてください)。
  • サーバーが自分のものであれば、ClientAlive*そこで -options を試すことができます。
  • クライアントとサーバーの両方で OpenSSH がない場合は、バージョンの非互換性がないか確認してください。

答え3

TCP キープアライブ メッセージを送信するようにクライアントを設定できます。これは、PuTTY の接続オプションの下にあることはわかっています。コマンド ライン オプションについてはよくわかりませんが、問題が発生したときにこれで解決しました。ただし、これは学校の Win7 マシンでのみ発生しました。

関連情報