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 ではないかと思われます.