• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ssh で、いつの間にか、リモートPCから勝手に接続を切られる)

sshでリモートPCとの接続が勝手に切れる問題について

このQ&Aのポイント
  • Ubuntu 8.04をインストールした2台のPC (PC AとPC B) にOpen SSH 4.7をインストールしました。
  • PC AからPC Bにsshでログインすると、しばらく放置すると接続が切れてしまいます。
  • PC Aの/etc/ssh/ssh_configにServerAliveCountMax 480とServerAliveInterval 300を設定していますが、接続は7時間程度で切れてしまいます。

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

  • ベストアンサー
  • dev_null
  • ベストアンサー率67% (37/55)
回答No.5

No.2です。 要約するとSSHでKeepAliveを設定したが接続が切れるという事ですよね。 質問の内容からSSHの設定方法を確認したいのかと思いました。 NATなネットワークの場合のように接続が切れる原因はSSH以外にあるの ではないでしょうか。 > topコマンドをやっていると接続が切れないので原因はこれだと思うのですが・・・。 とのことですので、コンソールに定期的に出力するプログラムを動作させれば、 解決するのではないでしょうか。 あとは、インターバルを短くしても解決しないようなら、サーバで パケットをキャプチャしてKeepAliveパケットが届いてるか調査して、 ネットワーク機器の動作を検証しないと分かりません。

その他の回答 (5)

noname#101947
noname#101947
回答No.6

> やってみましたがダメでした・・・。 すでに、openssh.orgサイトFAQに2005/09/20時点で明確な回答があることから、ClientAliveInterval やServerAliveIntervalの設定で問題ないものと思います。 2.12 - My ssh connection freezes or drops out after N minutes of inactivity.(放っておくとN分後にssh接続が切れる) http://www.openssh.org/faq.html#2.12 "white-tiger"さんの環境で目的どおりに動作しないのは、他の要因が絡んでいるのかも知れませんが、私には解りません。(私の環境ではman pageの説明通りに動作していますので、放っていても切れません)

noname#101947
noname#101947
回答No.4

> /etc/init.d/sshd restart としていたのですが、reload と restart は同じだと考えてはまずいでしょうか? 処理内容は異なりますが、今回のケースでの結果は多分同じでしょう。 自分でsshdスクリプトを参照してください。 なお、私の場合のsshdでは(/etc/rc.d/init.d/sshd)、restartはstop->startを行なっています。 > 実は、接続先のサーバが一台ではないので、 「2台のPCを持っています(PC A と PC B とします)」と明記されていましたので回答しました。

white-tiger
質問者

補足

やってみましたがダメでした・・・。 topコマンドをやっていると接続が切れないので原因はこれだと思うのですが・・・。 >> 実は、接続先のサーバが一台ではないので、 >「2台のPCを持っています(PC A と PC B とします)」と明記されていましたので回答しました。 わかりやすさのためにそう書きました。すみません。

noname#101947
noname#101947
回答No.3

ServerAliveInterval は使わずに server側の/etc/ssh/sshd_configに ClientAliveInterval 300 を設定し service sshd reload でsshdをリロードして試してみてください。 ClientAliveIntervalについては man page を参照。 "keep alive" messagesの考え方はServerAliveIntervalと同じです。

white-tiger
質問者

補足

ありがとうございます。これから自宅に戻って試してみます。 二つ質問があります。もしよかったら教えて下さい。 (1)いつも /etc/init.d/sshd restart としていたのですが、reload と restart は同じだと考えてはまずいでしょうか? (2)ServerAliveInterval と ClientAliveInterval では効果が違うことがあるのでしょうか?実は、接続先のサーバが一台ではないので、できれば手元の(作業用)クライアント側で対処したかったので ServerAliveIntervalの方を設定したのですが。 よろしくお願いいたします。

  • dev_null
  • ベストアンサー率67% (37/55)
回答No.2

KeepAlive や Heartbeat について調べて見てください。

white-tiger
質問者

補足

/etc/ssh/ssh_config に ServerAliveCountMax 480 ServerAliveInterval 300 を書くのは、KeepAlive や Heartbeat について調べて見つけた方法なのです・・・。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

シェルによっては「ある程度操作しないと勝手にログアウトされる」設定がデフォルトになってるかも.

white-tiger
質問者

補足

それだと、ローカルでログインした人も強制ログアウトをさせられることになると思います。

関連するQ&A