SSH経由でトラフィックをトンネリングするローカルSOCKSプロキシを設定するにはどうすればよいですか?


30

トンネリングをサポートするSSHサーバーにアクセスでき、* ubuntuを実行しているPCを使用している場合、インターネットに到達する前にそのSSHサーバーを介してトラフィックをトンネリングするローカルSOCKSプロキシを設定するにはどうすればよいですか?

回答:


45

sshあなたが、箱のSOCKSプロキシアウトを実行しているSSHのサポートを実行しているサーバーに接続するときに使用することバイナリ-Dフラグ。例:

ssh -D 1337 -f -C -q -N user@remote -p 22
  • -D 1337sshSOCKSサーバーをポート1337でローカルに起動するように指示します。
  • -f プロセスをバックグラウンドにフォークします。
  • -C 圧縮をオンにします。
  • -q 「Quietモード」を有効にします。ここでの目的はトンネルであり、エラー出力などはあまり気にしません。
  • -N伝えますssh(何のコマンドが送信されないことを-f我々はこれを指定しない場合は文句を言い)。
  • -p使用するポートを指定します。明らかにこれは22にデフォルト設定されているため、上記のステートメントは無意味ですが、明確にするために含まれています。

SOCKSサーバーが稼働している場合、アプリケーション(通常はWebブラウザー)が通常のインターネットではなくローカルSOCKSプロキシに接続しようとしていることを確認するだけです。

Firefox 29(ここでは例として説明)では、メニュー(右上の3つのソーセージ)に移動し、続いて[設定]> [詳細]> [ネットワーク]>(接続)> [設定...]に移動します。 SOCKSフィールドに入力してください!プロキシは同じシステム上にあるため、使用するlocalhost127.0.0.1、同じシステム上で設定したポートを指すことができます。

DNSリクエストもトンネリングする必要がある場合(そうでない場合、DNSルックアップにより、アクセスしようとしているWebサイトが明らかになります)、「リモートDNS」で確認するか、でこの設定全体を行うことができますabout:config。最後のケースでは、それを開いてこれらの値を設定します:

network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1

特定のドメインまたはサイトをトンネリングから除外するには、この設定が必要になる場合があります。

network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com

この回答はフランスから書かれましたが、スウェーデン経由でトンネルされました:)


これはFirefoxでのみ動作します。
Braiam

4
これはFirefox固有のものではありません。通常は人々がSSHトンネリングを使用するものであるため、Firefoxセクションをサービスとして追加しました。SOCKSプロキシをサポートするすべてのアプリケーションで機能します(sshは関係ありません)。
pzkpfw

2
プロキシを使用するようにブラウザを設定するといえば。google chromeを使用する場合は、ubuntuのネットワーク設定でプロキシを宣言する必要があります。これはgoogle chromeが使用するものです。これなしでプロキシを宣言するための非公式のCLIオプションが利用可能です。しかし、数週間前には、これはもう不可能です。
MadMike 14年

おかげで、あなたは私を地獄から追い出した。そして、10時間ほど前にあなたの答えを適切に読めなかったからです。に注意を払う必要が-Dあり-pます。
Lakesare

また覚えやすい:ssh -D 1337 user@host
Alcalyn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.