SSHのコネクションが切れる
ThinkPad X31にFedora12を載せてメインマシンとして使ってます。
サーバのメンテナンスや開発作業でFedoraターミナルからサーバにSSH接続する事があるけど、いつのまにかコネクションが切れている事がある(実際にはシェルが無反応になった後、更にしばらくして「コネクション切れたよ」みたいな)。
色々と調べてみると、自宅で使用しているルータがコネクション切ってるよう。一定時間何もパケットが流れないコネクションに対して。
自宅の環境(ルータ)では、約5分間何もパケットが流れないと切断(正確にはNATテーブルのクリア)となる。
Windows時代に愛用していたTeraTermは、一定間隔で無害なパケットを送出する機能を持ち合わせていたので、この様な事態に困ることはなかった。
本件はFedoraのSSHクライアント(OpenSSH)にも同様の仕事をさせる事で解決する。
OpenSSHのコンフィグファイル(/etc/ssh/ssh_configまたは~/.ssh/config)に以下行を追加。
ServerAliveInterval 300
これにより、300秒おきに無害なパケットを送出する。これで切られる事はなくなる。
なお、古いバージョンのOpenSSHでは使用できないかもしれない(3.8以降?)。