web-dev-qa-db-ja.com

ユーザー名またはパスワードなしでSocksプロキシを介してSSH

this サイトのSOCKSプロキシサーバーのリストがあります。

ssh -Dを使用して動的トンネルを作成する方法について読みましたが、正直に言うと、すでに試しました。残念ながら、何らかの理由で、リストのどのプロキシサーバーにも接続できません。

BackTrackでOpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8kを使用しています。誰かが私のために働くステップバイステップガイドを助けたり指摘したりすることをいとわないなら、私は非常に感謝するでしょう。

私が達成したいのは、マシンAからマシンBのsshトンネルを介してマシンCに接続することです。マシンCのsshdがポート21でリッスンしていて、マシンBプロキシがポート1080でリッスンしているとします。

追加の質問:

また、Firefoxでlocalhost:8080をプロキシとしてセットアップし、マシンBからマシンBを使用してネットを参照できるようにする、socksプロキシサーバーへのトンネルを作成したいと思います。 IPアドレス。

8
mnmnc

靴下クライアント、または靴下を理解するsshクライアントが必要なように思えます。 -Dは、sshがsocksサーバー/プロキシになるためのものです。

tsocksの下のssh、または別のSOCKSラッパーを使用できます。または、sshのProxyCommandをsocatまたはnc -Xと組み合わせて使用​​します。

ssh -o ProxyCommand='socat - socks:B:%h:21,socksport=1080' C

SOCKSサーバーを使用してHTTPリクエストを送信するHTTPプロキシを作成するには、tsocksの下で小さなプロキシ(tinyproxyなど)を実行できます。

すべてのアプリケーションがtsocksまたはLD_PRELOADに依存する同様のラッパーでうまく機能するわけではありませんが、tinyproxyは機能することに注意してください。

また、ドメイン名の解決に問題がある可能性があることにも注意してください(トンネルのいずれかの側で名前を解決するかどうかによって異なります)。 tsocksは、名前をリモートで解決するにはうまく機能しません。それが機能する唯一の方法は、ネームサーバー(/etc/resolv.conf内)がもう一方の端から到達可能であり、ドメイン解決にTCPを使用している場合です(tsocksは強制を試みることができますがsocksifyのSOCKSクライアント/サーバーのdanteは、解決関数もラップし、SOCKSの名前による接続を使用できるように名前解決を偽造するためのちょっとしたトリックを使用できるため、このインスタンスでより適切に機能します。

10