Sshトンネリングを使用して、マシン上に「プロキシ」を作成し、ローカルで生成されたすべてのトラフィックをリモートサーバーを通過させることができることを知っています。このような:
$ ssh -D 12345 myuser@remote_ssh_server
しかし、リモートサーバーに「プロキシ」を作成して、送信するすべてのトラフィックがローカルマシンを経由するようにする必要がある場合はどうでしょうか。これはsshで可能ですか?
サーバーはインターネットに直接アクセスできないため、基本的に、ローカルインターネット接続をいくつかの特定のコマンドとともに使用してリモートで実行したいと思います。
これを行う最も簡単な方法は、一度に1つのポートとホストです。たとえば、リモート:8001からイントラサーバー:80にトラフィックを転送するには、
ssh -R 8001:intraserver:80 myuser@remote
ただし、リモートからすべてのトラフィックを転送したい場合、ローカルホストでSSHサーバーを実行していると、
ssh -R 2200:localhost:22 myuser@remote ssh -D 10800 -p 2200 localhost
それを解く:
-R 2200:localhost:22
remote:2200からlocalhost:22への転送を設定します。ssh -p 2200 localhost
リモートでsshを実行し、remote:2200に接続して、localhost:22に戻します(最初のssh接続を介してトンネリングされます)。-D 10800
リモートからローカルホストへの接続を介して、remote:10800からSOCKSをトンネルします。