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
pythonスクリプトをダブルクリックで起動する→拡張子関連づけ詳細設定@Windows 7 with python 2.7

拡張子 .py を持ったファイルをダブルクリックで起動する方法です。 ※Wind …

no image
ネットワーク遅延のシミュレーション@CentOS 5

最近のLinux では、簡単にネットワーク遅延をシミュレーションできるようです。 …

no image
LVM覚え書き@Fedora14

LVMの使い方をすぐ忘れてしまうので、覚え書き。 LVM用のパーティションを用意 …

no image
NICに複数のIPを付与する方法@Linux

1つのNICに複数のIPをつける方法の覚え書き。eth0にもう一つIP(192. …

no image
セキュアなWPA-PSK + インフラストラクチャモードでテザリング@Galaxy S with root

Wifiでテザリングするために、Android で root とって、Wirel …

no image
cygwin ckでmanが見れない@cygwin with ck

cygwinをcygwin ck上で使っているのですが、manを見ようとすると以 …

no image
Tracの導入@Debian etch

Tracはメジャーなオープンソースのバグトラッキングシステム。 Subversi …

no image
initrd を展開しファイルを編集する @ Fedora 16

Fedora 16 Live CD の initrd を編集する必要があったので …

no image
PS3のアップデートチェック

PS3をインターネットに繋いでいると、起動時にソニーのサイトにアップデートチェッ …

no image
Mercurial 覚え書き@Fedora 13

分散型のバージョン管理システムである、Mercurial を使ってみました。 最 …