web-dev-qa-db-ja.com

SSHトンネルが機能しない

私のサーバーをsshの「プロキシ」として使用しようとしています。ただし、でトンネリングを設定する

ssh -D localhost:8000 user@myserver

動作しません。

SshとPuTTYを使用してさまざまなマシンでこれをテストしました-正常に接続しますが、ブラウザの設定を適切に設定すると、「接続がリセットされました」というエラーが表示されます。 Wiresharkでトラフィックを監視しようとしましたが、トンネルトラフィックも確認できませんでした。 AllowTcpForwardingを明示的に "yes"に設定しましたが、それでもトンネルを使用できません。

Sshを冗長モードで実行すると、エラーは発生しませんが、

debug1: Connection to port 8000 forwarding to socks port 0 requested.
debug1: channel 3: new [dynamic-tcpip]
debug1: channel 3: free: dynamic-tcpip, nchannels 4

何が悪いのですか?

8
s1ck

古いスレッドですが、可能な解決策を投稿する価値はあると思います。

複数のブラウザで同じ問題が発生しましたが、構成の問題であることが判明しました。その場合、次のコマンドが機能し、リモートマシンのIPアドレスが表示されます。

links -socks-proxy localhost:8000 www.myipaddress.com

質問に対する最初のコメントは、ブラウザがSOCKSプロキシの代わりにHTTPプロキシを使用しようとする可能性があるという点で正しいです。その場合、OPの投稿とまったく同じsshからの出力が表示されます。そして、私はSOCKSプロキシを設定しましたが、問題はHTTPプロキシの設定を解除しなかったでした。それが完了すると、すべてが期待どおりに機能し始めました。

5
xaizek

正しいコマンドは次のとおりです。

ssh user@server -D 8000

それでも接続できない場合は、別のプロセスがこのポートを使用しているかどうかを確認してください。これを行う最も簡単な方法は次のとおりです。

netstat --listen |grep 8000

その場合は、別のポートを使用してください。

2
Lucas Kauffman

同じ問題がありましたが、私の修正はコマンドに-gオプションを追加することです:

$ ssh -D 12324 localhost:8000 user@myserver -g
1
Shumin Guo

sshd_config sshサーバー:

PermitTunnel yes

そしてもちろん:

service ssh restart
0
jmunsch