ssh の -D オプションを試してみた
日頃SSH使ってサーバーの操作することは多いが、
クライアントの ssh コマンドでサーバーに接続する際、
普段は、
SSHに接続した上で、ローカルの指定したポートがsocksプロクシになってSSHサーバーにトンネルできる。
学生時代に、WEB以外利用できない学校内のローカルネットワークから外にWEB以外の通信アプリ使うのに自宅にsocks鯖建てた経験があるが、
socks鯖用意しなくてもSSH鯖があればトンネルできちゃうんだね。
暗号化のおまけ付きだし。
まあ、当時の学校のネットワークじゃ、SSHも外に出れなかったかな。
あの時はstoneってアプリ使って外に脱出した記憶がある。
あと、ubuntuのプロクシー設定だが、
システム設定 > ネットワーク > ネットワークプロキシ
で、
メソッド: 手動
”Socksホスト”の項目にホストのアドレスとポート番号設定すると、システムのプロクシ設定を使うアプリが全部プロクシ使うようになる。
ローカルのsshコマンドの-Dで設定したポートがsocksになるんで、1080番にしたなら、127.0.0.1 1080でsocks経由になる。
ホスト名を空にすると設定解除。
特定アプリだけトンネルしたいならシステム全体じゃなくてアプリの方でプロクシ設定すればいいんだが、アプリに設定機能がなかったりもする。
クライアントの ssh コマンドでサーバーに接続する際、
普段は、
ssh user@host
てな感じで接続するが、
ssh -D port user@host
てな感じで -D オプションでローカルのポート番号指定すると、SSHに接続した上で、ローカルの指定したポートがsocksプロクシになってSSHサーバーにトンネルできる。
学生時代に、WEB以外利用できない学校内のローカルネットワークから外にWEB以外の通信アプリ使うのに自宅にsocks鯖建てた経験があるが、
socks鯖用意しなくてもSSH鯖があればトンネルできちゃうんだね。
暗号化のおまけ付きだし。
まあ、当時の学校のネットワークじゃ、SSHも外に出れなかったかな。
あの時はstoneってアプリ使って外に脱出した記憶がある。
あと、ubuntuのプロクシー設定だが、
システム設定 > ネットワーク > ネットワークプロキシ
で、
メソッド: 手動
”Socksホスト”の項目にホストのアドレスとポート番号設定すると、システムのプロクシ設定を使うアプリが全部プロクシ使うようになる。
ローカルのsshコマンドの-Dで設定したポートがsocksになるんで、1080番にしたなら、127.0.0.1 1080でsocks経由になる。
ホスト名を空にすると設定解除。
特定アプリだけトンネルしたいならシステム全体じゃなくてアプリの方でプロクシ設定すればいいんだが、アプリに設定機能がなかったりもする。