ネットワーク – SSH 逆ソックストンネル

networking socks ssh ssh-tunnel tunnel

ssh -D はローカルマシンにソックスポートを作ることができ、リモートへのトラフィックを他の場所に渡します

ssh -L port:host:hostport、ローカルマシンでポートをリッスンし、リモートマシンから見て “host:hostport “にトラフィックを渡す

ssh -R port:host:hostportssh -Lの対になるもので、リモートマシンのポートをリッスンし、ローカルマシンから見て “host:hostport “にトラフィックを渡します

しかし、ssh -Dの対極にあるもの、つまり、リモートマシンでソックスポートを開いて、ローカルにトラフィックを渡し、他の場所に転送する方法は何でしょうか?

  31  Berry  2011-12-23


ベストアンサー

-D & -Lでは、2つのマシン間でどちらかの方法で通信することができます

So…

  • ローカルマシンから、-R を使用して、ローカルマシンの sshd を指すリモートマシン上にリスニングポートを作成します
  • 上記で作成したポートを指すリモートマシンで-Dを使用します

下に記入すると「思う」のですが・・・

ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"

上記の’remotehost‘、’remoteport‘ & ‘localport‘は変更が必要です。9050でソックスプロキシが形成されます

13  Pricey  2011-12-23


このスニペットは ~/.ssh/config で透過的に実現できます

Host sockstunnel
ProxyCommand ssh -D 3128 localhost nc -q 1 localhost 22

Host target
RemoteForward 3128 localhost:3128
ProxyCommand ssh -W target:22 sockstunnel

Details

ここでは、DynamicForward を逆にしたいと思います。これは2つのsshコマンドを使って実現します

  • ssh -D 3128 localhost
  • ssh -R 3128:localhost:3128 target

このようにtargetはSSHクライアントへのSOCKSトンネルを持っています

私がしたことは、中間ホストを介してリモートターゲットに到達するために ssh をチェーンする古典的な方法を使用して、ターゲットにログインしている間に SOCKS トンネルの作成が透過的に処理されるようにすることです。最初の ProxyCommand + nc のトリックは、-W は ClearAllForwardings を意味するので必須です

18  user305311  2014-03-05


local$ ssh -R 1080 remote
remote$ curl --socks5 localhost https://example.com

OpenSSH 7.6 以降

ssh(1): リバースダイナミック転送のサポートを追加。このモードでは、ssh は SOCKS4/5 のプロキシとして動作し、リモートの SOCKS クライアントが要求した目的地への接続を転送します。このモードは、-R および RemoteForward オプションの拡張構文を使用して要求され、クライアントのみで実装されているため、 サポートされるようにサーバを更新する必要はありません

https://www.openssh.com/txt/release-7.6

7  zmx  2019-05-09


OpenSSH で逆ソックストンネルを提供する機能はありませんので、”リモート” マシン上でソックスプロキシを提供する ssh コマンドを実行しなければなりません

リモートマシンがローカルマシンに ssh できない場合、最初にローカルからリモートへの ssh 接続を作成して、ポート 22 を例えば 2222 に転送します。これで、リモートマシンはポート 2222 でローカルマシンに ssh できるようになります

3  Thorbjørn Ravn Andersen  2011-12-23


新しいバージョンの OpenSSH は逆動的 TCP 転送をネイティブにサポートしています。(現在の) マニュアルの -R オプションから

明示的な宛先 [指定されていない] 場合、ssh は SOCKS 4/5 プロキシとして動作し、リモート SOCKS クライアントが要求した宛先に接続を転送します

That’s it!

0  EnzoR  2020-04-03


タイトルとURLをコピーしました