- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SSH接続をキー入力の有無でタイムアウトさせたいのですが)
SSH接続をキー入力の有無でタイムアウトさせる方法
このQ&Aのポイント
- セキュリティの関係上、SSHでログインして、一定期間入力がないと切断するようにサーバー側で設定する方法について調べました。
- sshd_configの設定でClientAliveCountMaxとClientAliveIntervalを変更することで、一定時間キー入力がない場合にタイムアウトさせることができます。
- ただし、この方法はSSHクライアント側のプロセスが落ちているかどうかをチェックするものであり、画面を開きっぱなしで放っておいた場合にはタイムアウトしない可能性があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#116115
回答No.2
>SSHを使ってしばらく放っておくとタイムアウトで切断されてしまうが、無効にするにはどうしたらいいのか 対処方法として示されているのは、クライアントばかりですね。 Tera Term の設定を確認してみたら、60秒間隔のKeepAlive用のハートビートがデフォルトで入っていました。 ssh_conf も TCPKeepAlive がデフォルトで yes になっています。 接続元のクライアントを限定できるのであれば、クライアントの設定を見直すことである程度対処できるかもしれません。
その他の回答 (1)
noname#116115
回答No.1
検証してみました。 >1 どうやらその通りです。 さらに、screen コマンドを使用してクライアントを切断しても、セッションは残ったままになりました。 >2 やり方は分かりませんが、もしこれができたら 例えば、コンパイル中に離席し帰ってきたらセッション切断などの憂き目に合いそうな気がします。
質問者
お礼
検証までしていただき、ありがとうございました。 だいたいタイムアウトの時間としては数時間単位を考えています。 実はこれを調べようとして、「SSH タイムアウト」で検索したときにたくさんヒットしたのが「SSHを使ってしばらく放っておくとタイムアウトで切断されてしまうが、無効にするにはどうしたらいいのか」というものでした。ですからなんらかの方法があるのではないかと思ってはいるのですが。。。
お礼
なるほど、確かにそうですね。切れてしまう原因の方をよく読んでみるとNATが悪いとかそういうのばかりで、サーバーの設定だけで解決する方法っていうのはないですね。つまり、サーバーの設定だけで切るっていうことはできないのかもしれないっていうことですよね。 クライアント全部を設定していくのはかなりの作業量になりますし、ユーザにその設定を変更されてしまったら終わりなので、かなり難しいですね。。。 タイムアウトってされたら困るときにされてしまって、できるようにしたいときはできない的なことが多いですねぇ。。。 いずれにせよ、かなり難しいと言うことがわかりました。勉強になりました。ありがとうございました。