12/08/2006

SSH over an HTTP-Proxy Server

ついに発見!!
ずーーーーーーっと探していた会社の中から、家のマシンにアクセスする方法をついに発見しました。
昔の部署では、社外のサーバを持っていたので、sshで外に出られてました。しかし、異動してからは、会社からアクセスできませんでした。おうちでは、いろいろとすることがあるので、なかなか、思うように触ることが出来ません。やはり、会社から触れないと、いろいろと不便がありました。

さらに、こちらに赴任してきてからは、家で仕事するため、テスト環境を自宅に構築しています。
自宅の環境を参照するために、絶対欲しかったんですよね。

SSH over an HTTP-Proxy
で、なぜ、SSH over an HTTP-Proxy なのかと言うと、
会社には、Fire wallにより、外部に出られるサービスが限られています。
一般的に、企業では、Web(HTTP)とMail(SMTP)だけが、外部への口です。
SMTPは、メールをリレーする仕組みなので、shellを動かすのはちょっと向かない。
HTTPは、ずっと、つないでいることができるので、これを使うのが唯一の方法となります。
そこで、HTTPにSSHを乗っける方法を探すとなるわけです。
で、みつけたのが、Corkscrew!
導入は至って簡単。

Linuxでのセットアップは、こんな感じです。

  1. ソースをCorkscrewからダウンロード。
  2. tar ballを展開して、configuer and make install
    デフォルトでは、/usr/local/binにインストールされます。
  3. ~/.ssh/configに、次を加えます。

    ProxyCommand /usr/local/bin/corkscrew proxy.example.com port %h %p
    proxy.example.com:プロクシ・サーバ
    port:ポート番号

    特定のホストだけにCorkscrewを使う場合は、ProxyCommandの前に、次を加えてください。

    Host foo.bar.com
    foo.bar.com
    :接続先のサーバ

  4. 後はつなぐだけ

    ssh foo.bar.com
    user@ssh foo.bar.com 's password:
    Last login: Thu Dec 7 17:35:34 2006 from proxy.example.com
    [uesr@foo.bar.com ~]$


めでたし、めでたし。

追記
06/12/13
 rpm.pbone.netにRPMパッケージを見つけました。
srpmをrebuildすれば、簡単にRPMを作れると思います。