Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

sshダイナミックフォワーディング@cygwin

      2013/07/15

OpenSSHクライアントのsshコマンドでトンネリングをする方法として-Lオプションを使って、ポートやフォワード先を指定する方法は知っていたが、-DオプションでSOCKSプロキシとして使えるとは知らなかった。-Lオプション(ssh -L 5555:192.168.1.1:6666 ホスト名)では、使うトンネルの数だけオプション書くのは面倒だなぁって思ってたから、まじで便利です。接続方法は簡単です。

$ ssh -D 1234 接続先IP

これで、localhostの1234ポートがSOCKSになります。

puttyやIEなどSOCKSに対応しているアプリケーションならば、すぐに使えます。

sshコマンドでSOCKSはそのままでは使えません。connect.cというファイルがネット上にありますので、使わせて頂きます。

今回はcygwin上でsshを使うので、上記リンク先にあるWindowsのバイナリ(connect.exe)をダウンロードし、/usr/local/bin に保存しておきます。

使用方法は、~/.ssh/config に以下のように設定します。ここでは192.168.1.1 や HOST1といったサーバに接続する場合にSOCKS(port 1234)が使われます。

Host 192.168.1.* 192.168.2.* HOST1
  ProxyCommand /usr/local/bin/connect.exe -S localhost:1234 %h %p

なお、HOST1が接続先のサーバでDNSや/etc/hostsで名前解決できないと、エラーになります。ローカルで名前解決後にSOCKSに接続するには、-R localを使えば可能です。

Host 192.168.1.*
  ProxyCommand /usr/local/bin/connect.exe -R local -S localhost:2222 %h %p

GPLライセンスなので、ここに置いておきます。

connect.c
connect.exe (Windows版バイナリ)

 - IT技術, ネットワーク ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
二本指でのスクロールの向きを逆にする@Windows8

Windows8 のタッチパッドは二本指でスクロールが可能ですが、タッチスクリー …

no image
Windows アップデートで使用するプロキシを設定@Windows Vista

Windows XPでは、proxycfgコマンドで、Windowsアップデート …

no image
BeckyからThunderbirdへのデータの移行

BeckyからThunderbirdへのデータの移行はネット上に多くの事例が掲載 …

no image
ローカルファイルの読み取り@Javascript with Rhino

Rhinoを使ったJavascriptスクリプトでファイルを読み込むにはread …

no image
XREAでのWordPressのファイルアップロード

初めてファイルアップロード機能を使おうとしたら動かなかったのでメモ。 wp-ad …

no image
WordPress と Twitter の連携 その2

WordPress の Tweetable プラグインから Twitter To …

no image
vncviewerで特定のポートに接続する@Linux

vncのサーバにvncviwerで接続する時に、 $ vncviewer サーバ …

no image
firefox アドオン セカンドサーチが動作しない@Firefox 3

いつ頃からかFirefoxのアドオン、セカンドサーチが機能しなくなってしまいまし …

no image
gmailでフィルタリング転送した時メールは受信トレイに残るの?

gmailの基本転送機能は全てのメールをあるアドレスに転送しますが、フィルタを用 …

no image
printfコマンドで数字を整形表示@Linux

echoコマンドはシステムによって挙動が異なる、特に改行関連を扱うオプションに差 …