
コンプライアンスのために、すべてのDebianサーバーは次の設定を使用して15分後にタイムアウトするように設定されています。/etc/ssh/sshd_config
ClientAliveInterval 900
ClientAliveCountMax 0
もちろん、アイドル時間があると接続が切断される可能性があるため、これらのサーバーでの作業は迷惑で危険になります。
既存の構成を変更せずにクライアントセッションをアクティブに保つための簡単なコマンドを探しています。
答え1
フォローしている場合セキュリティ技術実装ガイド現状
ClientAliveInterval 600
ClientAliveCountMax 0
これにより接続が切断されます。怠惰10分後、SSHセッション(Puttyウィンドウなど)が開始されます。
RHEL 7では、rhel-server-7.9-x86_64-dvd.isoまたはcentosで新規インストールを実行すると、これら2つのエントリのデフォルト値はそれぞれであるため、0
SSH3
セッションは自動的に終了しません。
詳細については、次を参照してください。https://stackoverflow.com/questions/71174746/clientaliveinterval-is-not-opening-the-idle-connection
最も関連性の高いもの:このマニュアルページから抜粋したように、ユーザーがアイドル状態のときは適用されず、応答しないSSHクライアントに適用されます。クライアントプログラムがハングアップしたり切断されたりすると、クライアントは応答しなくなります。人間のユーザーがキーボードから離れているため、クライアントは応答しないでください。 SSHクライアントはまだサーバーから送信されたパケットを受信します。
クライアント側にあります。putty.exeから、下につながるそして接続制御オプション持つKeepalive間の秒数(0はオフを意味)。デフォルト値は 0 です。ClientAliveInterval
で設定した数字より小さい数字に設定してくださいsshd_config
。
Windowsでputty.exeを使用せずに他のLinuxシステムでsshを使用すると、クライアントsshが設定されますが、対応するエントリがなく、/etc/ssh/ssh_config
keepaliveパケットが頻繁に送信されることがわかります。
注:Windowsでputty.exeを使用している場合、デフォルトのkeepaliveは0で、sshサーバーにClientAliveIntervalが設定されている場合、接続が開いてもvi
接続が失われ、失われたファイルは.swpファイルを介して復元されますvi
。あるいは、出力を続けて吐き出すプログラムを実行すると、サーバー側から出てSSH接続が切断され、ジョブが終了します。クライアントが計算して導くための何か(キーを押す)が必要です。へ生きている。したがって、Windowsでputty.exeを使用すると、LinuxからLinuxへのsshの場合は非常に簡単な修正が可能です。クライアントがsshセッションでキーボードキーを押さずに切断を防ぐ方法がわかりません。
ssh -o
アップデート:LinuxからLinuxまでさまざまなオプションを使用する必要があるようです。詳細については、次を参照してください。SSHでtcp-keepaliveはどのように機能しますか?
たとえば、
ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=1
/etc/yum.confのようなものにはgpgcheck=1があり、ヤムのインストール --nogpgcheck :)
答え2
設定で設定を無効にしたようです。生きているクライアントの最大数到着0。したがって、1に設定すると操作が実行されます。
生きているクライアントの最大数
sshd(8) がクライアントからメッセージを受信せずに送信できるクライアントアクティブメッセージの数を設定します。クライアントアクティビティメッセージの送信中にこのしきい値に達すると、sshdはクライアントの接続を切断してセッションを終了します。クライアントアクティビティメッセージの使用はTCPKeepAliveとは大きく異なることに注意してください。クライアントアクティビティメッセージは、偽装できないように暗号化されたチャネルを介して送信されます。 TCPKeepAliveアクティブなTCP keepaliveオプションはなりすまし可能です。クライアント側のアクティブメカニズムは、クライアントまたはサーバーが接続が無効になるタイミングを知る必要がある場合に便利です。
これデフォルトは 3 です。。もしClientAliveInterval が 15 に設定されました。, ClientAliveCountMax がデフォルトのままであれば、応答しない SSH クライアントは45秒。
しかし、@TienPhanのコメントに同意することを認めなければなりません。サーバーに構成を配置しないことをお勧めします。しかし、まだユースケースによって異なります。すべてのユーザーを同じ方法で処理する必要がある場合は、サーバー側の構成がオプションです。
答え3
実際、サーバー側では間隔を設定する必要はありません。より多くのことはあなたを幸せにしません。
「ServerAliveInterval」を使用して、次のように ~/.ssh/config ファイルに追加できます。
host *
ServerAliveInterval 120
注:120は秒なので、必要に応じて変更できます。
その後、そのファイルのすべてのサーバーに影響を与えます。あるいは、別のサーバーに設定することもできます。