SSHトンネリング - ローカルおよびリモートのユースケース

SSHトンネリング - ローカルおよびリモートのユースケース

私はGoogleでSSHトンネリングの基本を学びました。

私は次の興味深い質問を見ました。リバースSSHトンネリングはどのように機能しますか?

しかし、まだ少し混乱しています。もっと具体的に言えば[Eメール保護]部分。

したがって、答えの1つによれば、4つのユースケースがあります。これが私がそれらを理解する方法です。間違っていたら訂正してください。簡単にするために、ローカルコンピュータでsshコマンドを実行するとします。

  1. ssh -L 123:localhost:456 [email protected]

    • これにより、ローカルコンピュータのポート123からexample.comのポート456にすべてのトラフィックが転送されます。ただし、example.com は独自のローカルホストからのトラフィックを表示できます。
  2. ssh -L 123:google.com:456 [email protected]

    • これにより、ローカル コンピュータのポート 123 から google.com のポート 456 にすべてのトラフィックが転送されます。次に、example.comのSSHセッションを確立します。これは理解できませんが、なぜ私たちに必要なのですか?[Eメール保護]この場合は?
  3. ssh -R 123:localhost:456 [email protected]

    • これで SSH セッションが確立されます。[Eメール保護]example.comのポート123からローカルコンピュータのポート456にすべてのトラフィックを転送します。これにより、自分のローカルコンピュータからlocalhostからのトラフィックが表示されます。
  4. ssh -R 123:google.com:456 [email protected]

    • これで SSH セッションが確立されます。[Eメール保護]example.com のポート 123 から google.com のポート 456 にすべてのトラフィックを転送します。 #2とは異なり、example.comはリモートホストとして使用されます。

だから私の質問は:なぜ私たちに必要なのですか?[Eメール保護]#2に?私に何の問題もあるのか?

修正する

さて、今知っていると思います。私は以下について誤解があります[Eメール保護]セクションを見て、それをオプションと見なしてください。 SSHセッションが最初に確立され、次にport:host:portが評価されるようです。

例:#2の場合は、まずexample.comへのセッションを確立してから、トラフィックをgoogle.com:456に転送します。 #1 の場合は、まず example.com にセッションを確立してから、トラフィックを localhost:456 (同じホスト) に転送します。

答え1

2番目のケースは、example.comが[google.com]ホストに接続できますが、ボックスでは接続できない場合に便利です。たとえば、VPN接続が複数のボックスに制限されており、リストにないホストにアクセスしたいとします。 ssh -L 123:target.host.com:456[Eメール保護]

したがって、基本的な使用法はネットワーク内にジャンプするか、ネットワーク外にジャンプすることです(ある種のプロキシ/ゲートウェイにssh)。

最後に、ターゲットサーバーには、指定されたホストからの接続のみを許可するファイアウォールの制限があります。

関連情報