blog

Java、Scala、PHP、C++、MySQL、Apache、Linux、UnixなどのTechを紹介

« MySQLでDATETIME型のデータを高速に検索する方法 |  Mainへ  | MySQLのUDF関数を作った - アルファベットの文字列をひらがな順にソートする »
FreeBSD

私は主に開発作業をFreeBSD上で行っている。時にはサーバにログインして作業を行うケースもあり、SSHクライアント(OpenSSH_4.5)でサーバでアクセスする。ちょっと1~2時間休憩のために、席をはずしどってくると接続が切れてることはないだろうか? 原因の多くはルーター、サーバーで接続コネクションを切断しているからだと思もわれる。 Windows専用、SSHクライアントソフトputtyにはkeepalive機能がついていて、指定した時間に定期的に、 nullパケットをログインしているサーバに送信することにより、切断を防げるのだが、 OpenSSHクライアントには標準で同様な機能はついてないようだ。 色々と調べてみたところ、OpenSSH用のpatchを作成されている方がいたので、利用させてもらうことにした。そのときの導入方法である

今回の導入するパッチの作成者は、東北大学の後藤 英昭博士である、感謝!

導入方法

  1. OpenSSHを最新版(ver4.2 => 4.5)にする

  2. cd /usr/ports/security/openssh-portable
    

    (注意)上記OpenSSHのバージョンはこの記事を書いていた際の最新バージョンである

  3. patchのダウンロード

  4. wget http://www.sc.isc.tohoku.ac.jp/~hgot/sources/
                           openssh-4.4p1-watchdog.patch.tgz
    
  5. ダウンロードしたパッチをあて、パケット送信機能を実装する

  6. make patch
    
  7. インストール

  8. make install
    

    インストールが成功すると、/usr/local/bin/ssh にSSHクライアントが置かれる

  9. パケット送信する間隔を設定ファイルに書き込む

  10. /etc/ssh/ssh_config に Heartbeat 120
    

    上記設定は2分間隔でパケットを送るという設定になる

  11. インストールしたpatch済みのSSHクライアンと置き換えを行う

  12. CShellを使っているので、aliasを設定し置き換える
    /etc/csh.cshrcに alias ssh /usr/local/bin/ssh を追加する
    

    標準のSSHクライアントは/usr/bin/ssh にあるので、上書き置き換えでも可能だと思う

 
投稿日:2009/06/12 | カテゴリ:FreeBSD | コメント・TrackBack:(2)



Trackback URL

http://blog.fukaoi.org/2009/06/12/freebsd-ssh?tb=y&entry_id=2

コメント一覧

yamasa
2009/07/17 11:11(金)

最近のOpenSSHにはServerAliveIntervalというパラメータ名で
同等の機能が標準で用意されてますよ。

fukaoi
2009/08/26 15:42(水)

>yamasaさん

コメントありがとうございます。
OpenSSH 3.8から使用できるようですね

コメントはこちらからどうぞ

 
 
 

入力された内容