読者です 読者をやめる 読者になる 読者になる

muranoyaのブログ

https://github.com/muranoya

SSHでSOCKSプロキシ

ホテルでWiFi直接繋ぎたくないなあ,と思っていてどうしようか色々考えていた時期があった.

当時はさくらのVPSを借りていてVPN作るとか,プロキシサーバを立てるとか思ってたけど,SSHだけあればSOCKSプロキシを立てることができる.

私はよく,

$ ssh -ND 8080 hogehoge

とかしている.

あとはブラウザとか,Ubuntuのネットワーク設定からSOCKSプロキシをホスト名をローカルにして接続すればよい.

確かこの機能を初めて知ったのは京大マイコンクラブの以下の記事.

www.kmc.gr.jp

sshのmanページを見ると確かにsshはSOCKSサーバのように振る舞うと書いてある.

Specifies a local “dynamic” application-level port forwarding.
This works by allocating a socket to listen to port on the 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 configura‐
tion file.