2 つのサーバーをプロキシとして使用

2 つのサーバーをプロキシとして使用

途中で2つのサーバー(AとB)を持つプロキシを実装したいと思います。トラフィックはマイコンピュータからサーバーBに移動し、サーバーAに移動してデータを取得します。 ~/.ssh/configでこの設定を使用することがわかりました。

HOST B
    HostName B
    user debian
    DynamicForward 0.0.0.0:1081

1081 ポートをプロキシとして使用できます。しかし、今はA経由でBのすべてのトラフィックをプロキシする方法がわかりません。

これは私のSSHバージョンです。

OpenSSH_7.2p2 Ubuntu-4ubuntu2.8, OpenSSL 1.0.2g 2016年3月1日

ベストアンサー1

BはAに達するすべてを処理します。 Aは、データに基づいてデータを検索する場所を選択する必要があります。当然Aだけでなければなりません。動的配信トンネルでは、Bは接続用の中間ホストとしてのみ機能します。通常、Bにはクラシックのみが必要です。地域配信Aに質問してください。

さまざまな方法で実行できますが、最も簡単で安全な方法は次のとおりです。プロキシジャンプこの機能はAが直接アクセスできるように見えるため、Bが意図したポート転送とどのようにやり取りするかについて考える必要はありません。 Bはほとんど見えないと思うかもしれません。したがって、最終的に次の構成を置くことができます~/.ssh/config

Host B
    User userb

Host A
    User usera
    ProxyJump B
    DynamicForward 1081

ただ電話してください:

ssh A

構成ファイルがない場合、そのコマンドラインは次のようになります。

ssh -D 1081 -J userb@B usera@A

修正する:しなければならないSSHバージョンは7.3より前です(OP用のようです)。プロキシジャンプそれでも交換可能プロキシコマンド+SSH-Wこのように:

設定ファイルとして~/.ssh/config

Host B
    User userb

Host A
    User usera
    ProxyCommand ssh -W %h:%p B
    DynamicForward 1081

または設定ファイルがない同じコマンドライン:

ssh -D 1081 -o 'ProxyCommand ssh -W %h:%p userb@B' usera@A

SOCKS5 API は、クライアントで使用できますlocalhost:1081(再度挿入または0.0.0.0:1081使用しない限り)。ゲートウェイポート/-G)他のクライアントが利用できるようにします)。フードの下で一対のパイプで制御される生成されたサブSSHプロセスは、ホストBを介してトンネルを確立し、AのSSHサーバーを初期ホストに提供します。SSHコマンド:SSH全体がトンネリングされるため、特定の追加ポート転送を構成する必要はありません。

おすすめ記事