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
isoなどのCDイメージを手軽にマウント

Daemon ToolsというCDのイメージをマウントする有名なツールがあるので …

no image
Debianの起動スクリプト編集@Debian Etch

Red Hat系ではchkconfigというコマンドで起動スクリプトのon/of …

no image
yumで特定パッケージをインストールやアップデートさせないようにする@Fedora 13

最近Fedoraを使い始めました。 最初からFedoraのリポジトリにいろいろな …

no image
SSHキーのfingerprint確認

最近 GitHub の脆弱性つかれたとかで、ssh の fingerprint …

no image
Ubuntuの起動画面が途中で見えなくなる@Ubuntu 9.04

Ubuntu 9.04を入れてみました。 起動時の画面が途中で真っ暗になったり、 …

no image
Windows bashを使ってみた

Windows10 の Anniversary Updateで、Ubuntu が …

no image
PS3のハードディスク交換にあたって

PS3 20GBモデルはハードディスク容量がそのうち不足するだろうから、そのうち …

no image
pptpサーバの構築@CentOS 5.8

pptpサーバ構築時のメモ書き。 # yum install ppp pptp …

no image
SD経由で着信音にする方法

通常、SDカード経由で携帯に3gpファイルをコピーした場合、着信音やアラーム音に …

no image
日本語入力 ON/OFF キー変更@Fedora 13

今までscim というインプットメソッドがメジャーだったような気がしていたのです …