web-dev-qa-db-ja.com

ダブルポートフォワーディング-SSH

注:なぜこれをしたいのか説明していません。しかし、ここに要件があります。

4つのホストがあります。ホストA、ホストB、ホストC、ホストD

  1. ホストAは、ポート8001でアクセスできるアプリケーションを実行しています。
  2. ホストAのポート8001をホストBの8002に転送しました。
  3. ホストBには、ホストCを使用してのみアクセスできます。

そこで、ここでも、ホストBのポート8002をホストCの8003に転送しました。

さて、ホストDから...私が言うとき:https://HostC:8003-ホストAで実行されているアプリケーションに移動するはずですが、それはできません。

しかし、私にできることは、ホストAのポート22をホストBのポート7777に転送したことです。次に、ホストCから次のコマンドを実行しました。

$ ssh Host B -p 7777 -L 6666:localhost:8001

これを行うと、ssh Host B -p 7777、ホストAのコマンドラインに移動しました。したがって、ホストAのポート8001はホストCの6666に直接転送されました。

さて、ホストDから、https://Host C:8001うまくいきました!でも、前者のやり方でやりたいです。

  • どうやってやるの?
  • ここで何が欠けていますか?
3
Being Gokul

あなたはそれを逆にしたい(あなたのセットアップの逆)。

Host D -> Host C:8003
          forwards to --> Host B:8002
                           forwards to --> Host A:8001 -> Your application

確立するのは1sshだけです。

HostC上

ssh -L 8003:hostA:8001 user@hostB

次に、hostC:8003にアクセスしてhostDでテストします。

2
X Tian