sshuttleは、SSH接続を介して転送し、リモートサーバーでPythonスクリプトを実行してプロキシを設定する透過的なプロキシサーバーです。sshuttle
次の条件で実行できます。
- クライアントマシンまたはルーターはLinuxベース、FreeBSDまたはMac OS
- クライアントの管理者権限
- SSH経由のリモートネットワークへのアクセス
- リモートネットワークに管理者権限がありません
- リモートサーバーでのPythonの可用性
ソフトウェアセンターまたはターミナルからsshuttleをインストールします。
sudo apt-get install sshuttle
すべてのトラフィックをルーティングしてsshuttleを実行するための基本的なコマンドは次のとおりです。
sshuttle -r username@sshserver:port 0/0
コマンドを実行sudo
すると、パスワードプロンプトが表示され、続いてSSHアカウントのパスワードが表示されます。短いメッセージを除いて他の詳細は表示されず、失敗するとシェルに戻ります。さらにステータスメッセージを表示するsshuttle
には、-v
フラグを指定して詳細モードで実行します。
この例では、DNSを除くすべてのインターネットトラフィックがVPNを介してルーティングされます。-r
flagは、上記の例に続くリモートホスト名とオプションのユーザー名とポートを示します。0/0
は0.0.0.0/0
、VPN経由でルーティングするサブネットを表す略です。0/0
DNSサーバーを除くすべてのトラフィックをリモートサーバーにルーティングします。-H
フラグを使用すると、DNSチューニングが可能になります。
実行できるman sshuttle
オプションとモードの詳細については、manページ()をご覧くださいsshuttle
。概念とその他の例については、プロジェクトページを参照してください。