みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SSH接続をキー入力の有無でタイムアウトさせたいのですが

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

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

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

投稿日時 - 2010-05-11 13:00:47

QNo.5887387

暇なときに回答ください

質問者が選んだベストアンサー

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

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

投稿日時 - 2010-05-13 06:35:14

お礼

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

投稿日時 - 2010-05-13 10:01:49

このQ&Aは役に立ちましたか?

32人が「このQ&Aが役に立った」と投票しています

回答(2)

検証してみました。

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

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

投稿日時 - 2010-05-11 17:21:35

お礼

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

投稿日時 - 2010-05-11 23:42:53

あなたにオススメの質問