keep alive有効化
最近、検証用マシン群が手元のマシンとは別のネットワーク上へ移動したのですが、SSHが良く途中で切れるようになってしまいました。これは10分放置すると間にいるルータがNATテーブルをクリアしてしまうからなんだそうで。しかも標準のopenSSLにはKeep Alive機能が無い!
そこでどうにかならないものかと思ってぐぐったら、まとめサイトを発見!
http://www.geocities.co.jp/AnimeComic/1098/documents/unixmemo/ssh-keepalive.html
方法はいろいろあるけど、SSHクライアント側にKeep Alive機能を追加するパッチをあててコンパイルすると良いよ!とのこと。で、採用。
作業ログ
作業前のバージョン
mir@t43:~$ ssh -v OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006
パッチの入手
パッチの最新対応バージョンが4.4p1のようなので、openssh 4.4p1(移植版)をミラーから入手。
解凍して、パッチをあてて、ビルド。
cd openssh-4.4p1 patch < ../openssh-4.4p1-watchdog.patch ./configure --prefix=/usr && make && sudo make install
デフォルトだと/usr/local/binに入るようなので、--prefix=/usrを付けて/usr/binに入るようにしておいた。
作業後のバージョン
mir@t43:~$ ssh -v OpenSSH_4.4p1, OpenSSL 0.9.8b 04 May 2006