sshd_configの `ServerAliveInterval`と `ClientAliveInterval`オプションは正確に何をしますか?

sshd_configの `ServerAliveInterval`と `ClientAliveInterval`オプションは正確に何をしますか?

私が見つけたこの問題ServerAliveInterval、申し訳ありません。許可された応答に記載されている2つの変数の設定を理解していません。ClientAliveIntervalローカルサーバーがタイムアウトした場合は、この値を0に設定する必要がありますか?それではタイムアウトは発生しませんか? 300秒または他の値に設定する必要がありますか?

私の問題は簡単です。応答を介してラップトップを一時停止してから一時停止を解除すると、一部の接続がタイムアウトし、Write failed: Broken pipe他の接続はそうではありません。破損したパイプが失敗しないようにローカルsshdを正しく設定するにはどうすればよいですか?

ベストアンサー1

サーバー活動間隔:秒顧客接続を維持するために、サーバーに空のパケットを送信する前に待ちます。

クライアントアクティビティ間隔:秒仕える人空のパケットをクライアントに送信する前に待ちます(接続を維持するため)。

値を0(デフォルト)に設定すると、これらの機能は無効になるため、長時間アイドル状態になっていると接続が切断される可能性があります。

ServerAliveIntervalは、接続を維持するための最も一般的な戦略のようです。パイプ破損の問題を回避するために.ssh / configファイルで使用されるSSH構成は次のとおりです。

Host myhostshortcut
     HostName myhost.com
     User barthelemy
     ServerAliveInterval 60
     ServerAliveCountMax 10

上記の設定は次のように機能します。

  1. クライアントは60秒(ServerAliveInterval時間)の間アイドル状態で待機した後、「no-op空のパケット」をサーバーに送信し、応答を待ちます。応答がない場合は、10(ServerAliveCountMax)回(600秒)まで上記のプロセスを続行します。サーバーがまだ応答しない場合は、クライアントのSSH接続が失われます。

サーバー側の ClientAliveCountMax も役に立ちます。これは、クライアントが切断する前に応答しない可能性がある時間制限です。デフォルトは3(3つのClientAliveIntervals)です。

おすすめ記事