SSH 接続からの自動ログアウトが短すぎる場合のクライアント側での回避策はありますか?

SSH 接続からの自動ログアウトが短すぎる場合のクライアント側での回避策はありますか?

ある Linux ホストから、自分が管理していない別の Linux ホストに SSH 接続します。どうやら、/etc/ssh/sshd_config非アクティブ期間が長すぎると自動的にログアウトするように設定されているようですが、私の好みには短すぎます (1時間後にインタラクティブSSHログインの自動ログアウトを有効にするにはどうすればいいですか)。

2 分ごとに改行文字を送受信するなど、SSH セッションを維持する方法はありますか?

while true { echo ' '; sleep 120 }ダイヤルアップ モデムの時代には、このような回避策が一般的でした。

ちなみに、Windows の PuTTY はまったく関係ありません。

答え1

それは bash の TMOUT ですか、それとも ssh ですか? TMOUT の場合、ここにいくつかのオプションがリストされています。

https://stackoverflow.com/questions/25675598/getting-kicked-out-of-openshift-server-after-a-while/25689720#25689720

または
https://unix.stackexchange.com/questions/222283/read-only-tmout-variable-workaround-to-disable-automatically-exit-shell-when-t

-エリック

答え2

$HOME/.ssh/configSSH クライアント側に次の行を追加します。

ServerAliveInterval 60

間隔(60)を状況に応じて調整します。詳細についてはmanページをご覧ください

お役に立てれば幸いです。

答え3

bash の場合: while sleep 120; do printf '\33[0n'; done.

編集:これは 2 分ごとに目に見えない文字列を送信します。ターミナルに送信されるこれらの文字は、SSH セッションで非アクティブ状態を探しているものを欺くのに十分です。

これを停止して bash プロンプトを再度表示するには、Ctrl + C を押します。

答え4

ファイルを編集してみてくださいsshd_config。私の場合は でした/etc/ssh/sshd_config

だった:

ClientAliveInterval 300
ClientAliveCountMax 0

に:

ClientAliveInterval 6000
ClientAliveCountMax 3

忘れないで

service sshd restart

関連情報