2011年09月02日

SSH Worker-1.1: Support HTTP Proxy

最近この話ばっかりなんですがHTTP Proxyを経由したSSH接続に対応したので公開しておきます。
SSH Workerの詳しい使い方は、前回前々回の記事を参照下さい。

46

ダウンロード


こちらからバージョン1.1をダウンロードして下さい。

 SSH Worker Download Page


設定方法


HTTP Proxy経由で接続するホストがある場合、ホスト定義ファイルを次のように記述します。

#Region, Group, Type, Host, User, Password, Encoding, Nickname, Gateway(gwp|cmd|pxy:host[:port])
Region1, Group1, Type C, Hidden3, user, password, UTF8, , pxy:GatewayHost:80

キーワードにpxyを使います。またpxy(HTTP Proxy)を使う場合にはポート番号も必ず指定して下さい(この例ではport 80を指定)。
以上で終了。あとはこれまで通りに利用出来ます。


HTTP Proxy経由だと何が嬉しいか?


これまでに実装していたGatewayPorts(gwp)、OpenSSHクライアント(cmd)を利用したゲートウェイ経由での接続では、ゲートウェイとなるサーバに対し背後に隠れているサーバに対応したポートを開く(用意する)必要がありました。

20

SSH WorkerアプリケーションとGatewayとなるホスト間のネットワークでこれらのポートの利用が許可されていれば問題はありませんが、図のNetwork部分にファイヤーウォールがあり特定のポートしか利用できない、というケースも運用上あり得ます。

このようなケースでGatewayとなるホストでHTTP Proxyが有効になっていると1つのポートを使って背後にいる複数のホストに接続する事が出来ます。

33

ApacheにおけるHTTP Proxyの設定


あくまで最低限の設定という事で参考程度ですが、ApacheでHTTP Proxyを有効にする場合、次のような設定をhttpd.confに追記します。

<VirtualHost *:80>
#ServerName ssh.proxy.com
ProxyRequests On
AllowCONNECT 22

<Proxy *>
Order deny,allow
#Deny from all
Allow from all
</Proxy>
※この例では全てのホストからのプロキシ要求を許可しています。

これで22番ポート(sshd)へのプロキシが有効になります(設定後はhttpdを再起動)。
もう少し細かな条件をつける場合、こちらのサイトが参考になります。


Orion SSH2 for Javaを使ってHTTP Proxy接続する方法を詳しく知りたい


とても簡単です。ライブラリをダウンロード、解凍後、examplesに含まれるBasicWithHTTPProxy.javaを確認して下さい。
Ganymedですがこちらからもレビューできます。



超マシン誕生 [新訳・新装版]
トレイシー・キダー 
日経BP社 
売り上げランキング: 145474


ゴーマニズム宣言SPECIAL 国防論
小林 よしのり 
小学館 
売り上げランキング: 14

Posted by netbuffalo at 19:03│TrackBack(0)Java | ネットワーク


この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/netbuffalo/3516046