Sun SSH では ServerAliveInterval が設定できない件
NAT などの影響で一定時間通信がないと ssh 接続が固まったり,切れたりすることがあります.
この対処法として OpenSSH の場合は,$HOME/.ssh/config などに
Host *
ServerAliveInterval 60
のようにして,60 秒ごとに無害なパケットを送信するようにします.
さて,Solaris 9 あたりからバンドルされている Sun SSH も OpenSSH をベースにしているので,
ServerAliveInterval が使える……と思ったのですがが,man ssh_config を見てもオプションは出てきませんし,
実際に設定してみても,
/home/sunaoka/.ssh/config: line 35: Bad configuration option: ServerAliveInterval
/home/sunaoka/.ssh/config: terminating, 1 bad configuration options
このようにエラーが出て起動できません.strings `which ssh` | grep -i ServerAliveInterval をしてみても,
表示されませんので多分,実装されていないと思われます.
対処法として,サーバ側で設定することができるのであれば ClientAliveInterval を sshd_config に設定してあげればいいようです.
ClientAliveInterval 60
これで 60 秒ごとにサーバから確認用のパケットが送られてきます.
とりあえず問題は解決したのですが,サーバ側の設定をできない場合は困りますね……
また,参考までにベースとなった OpenSSH のバージョンを調べてみようとすると,
$ strings `which ssh` | grep OpenSSH
OpenSSH*
OpenSSH_3.6*,OpenSSH_3.7*,OpenSSH_3.8*
OpenSSH_3.2*,OpenSSH_3.3*,OpenSSH_3.4*,OpenSSH_3.5*
OpenSSH_2.*,OpenSSH_3.0*,OpenSSH_3.1*
OpenSSH_2.9p*
OpenSSH_2.5.3*
OpenSSH_2.5.0*,OpenSSH_2.5.1*,OpenSSH_2.5.2*
OpenSSH_2.5.0p1*,OpenSSH_2.5.1p1*
OpenSSH_2.3.*
OpenSSH_2.3.0*
OpenSSH-2.0*,OpenSSH-2.1*,OpenSSH_2.1*,OpenSSH_2.2*
以上の結果からおそらく OpenSSH 3.8 ではないかと思われます.