「iPhone + iProxy で(疑似)テザリング」での不満「SOCKS プロクシが使えない」を解決する方法があったのでメモ。
Corkscrewを使ってHTTP経由でSSHのトンネリング接続を行う – builder
corkscrew
を使うと指定したプログラムの通信を HTTP プロクシ経由で流してくれる。制限された環境で SSH したり git
を使うのに重宝するが、一度穴を開けてしまえば何でもできちゃうので使い方によっては非常に危険なアプリだ。企業内のネットワークなどから使うときは管理者に利用の可否を問い合わせた方がいいかもしれない。
インストールと設定
今回は Mac を使うので brew で簡単にインストールできた。
$ brew install corkscrew
これだけで OK。次に ~/.ssh/config
に設定を書き込む。
Host example.com.corkscrew HostName example.com ProxyCommand corkscrew 192.168.1.2 8888 %h %p # 192.168.1.2 は iPhone に割り当てた IP アドレス
実行!
あとは簡単。いつも次のようにやっていたのを、
$ ssh example.com
次のようにすれば OK。
$ ssh example.com.corkscrew
SSH 以外のアプリケーションを使う
SSH 以外に使いたいアプリケーションがあるのならポートフォワーディングで対応する。
ssh ポート転送
コマンドラインからオプションを指定する方法もあるが、長くなるので ~/.ssh/config
に書いてしまおう。
Host example.com.corkscrew HostName example.com ProxyCommand corkscrew 192.168.1.2 8888 %h %p # 192.168.1.2 は iPhone に割り当てた IP アドレス # LAN 内の Web サーバ LocalForward 10080 192.168.10.10:80 # VNC LocalForward 15900 192.168.10.20:5900 # リモートデスクトップ接続 LocalForward 13389 192.168.10.30:3389 # 他の機器からの接続を受け付ける # GatewayPorts yes
最後の GatewayPorts yes
を使うと同じネットワーク内の機器からも接続できて便利だが、同時に危険も伴う。
後は、指定したポートを使って接続するだけ。自鯖へ VNC 接続したいなら Finder で Command ⌘ + K して vnc://localhost:15900
と打ち込むだけだ。