2006年8月17日

sshのセッションが切れる件

 sshとかtelnetで作業しつつアイドルのままほっとくと、いつの間にかに切れてしまうことがある。これは通信路の間にあるルータのNATテーブルのタイムアウトによるものと思われる。

 ある人はPCがルータ直結なのに切れると言って困っていた。サーバー側は静的NATである。静的NATの場合、NATテーブルは不要なはずだ。しかしSPIフィルタがある場合は切れるかもしれない。

 まあ、とにかく、TCP通信は未通信時間が長いと、間のルータに切られてしまうことがある。


 イマドキの対策として、一番カンタンなのは keep alive をONにすることである。UTF-8 TeraTerm Pro with TTSSH2では、デフォルトでONになっている。PuTTYではOFFなので、自分でONにしなければならない。いじるのは Enable TCP keepalives のところではなく、Seconds between keepalives のところに数字を入れる。300(5分)ぐらいでいいと思う。

 そのほか、NAT環境で放置したSSH接続が切れる問題への対処という文章がある。


 もっと上位層での対策として、screenコマンドを使うという人がいた。screenは仮想端末管理ソフトであり、切れる対策専用というわけではないが、切れても仮想端末に再接続できる機能がある。その他、いろいろ嬉しい機能があるので愛用しているとのこと。

 自分は使ってないのでよくわからんが、screenのススメなどを読むと良いかも。


 ちなみにボクは切れて困っていたのだが、なんら対策をしていなかった。切れたらログインしなおすし。でも、最近なぜか切れないなぁと思っていたら、最近乗り換えたTTSSH2で、デフォルトでONになっていた。

Posted by rukihena at 23:08:19
トラックバックURL

このエントリーのトラックバックURL:
http://weblog.rukihena.com/mt/mt-tb.cgi/532

コメント