「みんな教えて! 選手権!!」開催のお知らせ

SSH接続をキー入力の有無でタイムアウトさせたいのですが
 セキュリティの関係上、SSHでログインして、一定期間入力がないと切断するようにサーバー側で設定したいと思っています。(開いたまま長時間離席、帰宅などを防ぐため)
 いろいろと検索したのですが、sshd_configの設定でClientAliveCountMaxとClientAliveIntervalを「いじればできるんじゃないか」というようなものにヒットするのですが、私の理解ではこれはSSHクライアント側のプロセスが落ちているかどうかチェックするためのもので、画面を開きっぱなしで放っておいた場合にはタイムアウトにならないのではないかと思っています。
 そこで質問なのですが、

1.上記理解は正しいでしょうか
2.正しいとして、キー入力の有無によってタイムアウトさせる方法はあるでしょうか

 よろしくお願いいたします。

A 回答 (2件)

>SSHを使ってしばらく放っておくとタイムアウトで切断されてしまうが、無効にするにはどうしたらいいのか



対処方法として示されているのは、クライアントばかりですね。
Tera Term の設定を確認してみたら、60秒間隔のKeepAlive用のハートビートがデフォルトで入っていました。
ssh_conf も TCPKeepAlive がデフォルトで yes になっています。
接続元のクライアントを限定できるのであれば、クライアントの設定を見直すことである程度対処できるかもしれません。
    • good
    • 0
この回答へのお礼

なるほど、確かにそうですね。切れてしまう原因の方をよく読んでみるとNATが悪いとかそういうのばかりで、サーバーの設定だけで解決する方法っていうのはないですね。つまり、サーバーの設定だけで切るっていうことはできないのかもしれないっていうことですよね。
クライアント全部を設定していくのはかなりの作業量になりますし、ユーザにその設定を変更されてしまったら終わりなので、かなり難しいですね。。。
タイムアウトってされたら困るときにされてしまって、できるようにしたいときはできない的なことが多いですねぇ。。。
いずれにせよ、かなり難しいと言うことがわかりました。勉強になりました。ありがとうございました。

お礼日時:2010/05/13 10:01

検証してみました。



>1
どうやらその通りです。
さらに、screen コマンドを使用してクライアントを切断しても、セッションは残ったままになりました。

>2
やり方は分かりませんが、もしこれができたら
例えば、コンパイル中に離席し帰ってきたらセッション切断などの憂き目に合いそうな気がします。
    • good
    • 0
この回答へのお礼

検証までしていただき、ありがとうございました。
だいたいタイムアウトの時間としては数時間単位を考えています。
実はこれを調べようとして、「SSH タイムアウト」で検索したときにたくさんヒットしたのが「SSHを使ってしばらく放っておくとタイムアウトで切断されてしまうが、無効にするにはどうしたらいいのか」というものでした。ですからなんらかの方法があるのではないかと思ってはいるのですが。。。

お礼日時:2010/05/11 23:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報