
同様の質問を見たことがありますが、答えがあまり有効ではないほど異なります。
2つのDebian Busterホストがあります。 1つはプライベートネットワーク(A)にあり、もう1つはAzure(B)にあります。
ホストAがホストBから逆SSH接続を開始することを試みます。その後、ホストBはSOCKSプロキシリスナーを開き、そのプロキシリスナーへの接続がホストAにトンネリングされるようにします。私はコマンドを入力してホストAでこれらすべてを達成したいと思います。
次のように、ホストBからホストA(ホストAによって開始)に逆SSHトンネルを設定できることがわかります。
ssh -R b:localhost:a b.b.b.b
a
=ホストAの受信ポート
b
=ホストBの受信ポート
、つまりb.b.b.b
ホストBのIPアドレス。
それでは、2番目の部分(ホストBにSOCKSプロキシリスナーを自動的に生成)が機能するようにするにはどうすればよいですか?可能ですか?それとも、netstat
逆SSHトンネルが確立されたと言うたびに(または同様に)SOCKSプロキシリスナーを生成するスクリプトをホストBに生成する必要がありますか?
最初の答えに基づいて明確にするために編集されました。
答え1
最初のステップであるリバースSSH接続を確立しましたか?その場合、localhost Aは、トラフィックがAzure Server Bのポート22に転送される2222などのすべてのポートでリッスンする必要があります(デフォルトのsshdポートがBで使用されている場合)。
- 2番目のステップはソックスプロキシです。
ホストAタイプでは、
ssh -p 2222 -D 4444 -N localhost
SOCKSプロキシがリスニングするローカル(ホストA)からポート4444をランダムに選択しました。
トラフィック:4444ローカルA - > 2222ローカルA - > 22 Azure B
テストするには、Chromeなどのブラウザでソックスプロキシ設定を使用する
google-chrome --proxy-server="socks://localhost:4444"
か、SOCKSバージョン4または5を選択してください。
google-chrome --proxy-server="socks4://localhost:4444"
すべてが正常に機能したら、Azure コンピューターをゲートウェイ/プロキシとして使用してインターネットを検索する必要があります。公開IPを確認して確認してください。