BLOGTIMES
::
Home > SSHをSOCKS Proxyにする
2008/12/13
[ by hsur at 16:11]

SSHをSOCKS Proxyにする

  

開発環境への接続などでSSHトンネルを使わなければいけない機会というのはよくあるのですが、使うポートやサーバーが多くなってくるとPutty(SSH)の設定が-Lだらけになってしまいます。その管理が面倒なので困っていたのですが、SSHをSOCKS Proxyとして扱うことによりトンネルの設定を大幅に簡素化できる方法があることが分かりました。

2004-12-15 - てっく煮ブログ

ssh のポートフォワーディングにはリモート・ローカル・ダイナミックの3種類があって、前の2つはよく知られているけど、ダイナミックはいまいち知られていない。これは、なんと、ssh を Socks Proxy として使うことができるのです。localhost の Socks Proxy 経由でアクセスすると、ssh でログインした先からコネクションがはられているように見える訳です。

これは便利そうということでman sshをしてみると、確かに-Dオプションがあります。

-D [bind_address:]port

Specifies a local “dynamic” application-level port forwarding. This works by allocating a socket to listen to port onthe local side, optionally bound to the specified bind_address. Whenever a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings can also be specified in the configuration file.

ということで、この設定を自分の開発マシンであるノートPCのPuttyに仕込んでみることにしました。

Puttyの設定

Puttyについては、通常通りSSHの設定をした状態で「接続→SSH→トンネル」を開き、源ポートにSOCKS Proxyとして使う適当なポートの番号を入れ、送り先のところにあるダイナミックのラジオボタンを選択し、追加ボタンを押します。

下記の画像は源ポートに10080を入力して追加を押した例です。
この状態でセッションを開けば自分のPCの10080がSOCKS Proxyになっています。

Puttyのダイナミックポートフォワード設定

ブラウザの設定

後は自分の使いたいアプリケーションでSOCKS Proxyの設定をするだけです。
下記の画像はFirefoxの設定例になります。

Firefoxでの設定例

この状態でウェブを閲覧すると、SSH先のサーバからアクセスしているように見えるはずです。
意外と簡単なので大満足です。

このエントリは役に立ちましたか?
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→http://blog.cles.jp/item/2839
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン

Web Services by Yahoo! JAPANPowered by NP_SpamBayesJP
★下記に2つの英単語をスペースで区切って入力してください
::
Home > SSHをSOCKS Proxyにする