グーグルからSSHトンネリングの基本を学びました。
私はこの興味深い質問を見ました: リバースSSHトンネリングはどのように機能しますか?
しかし、それでも少し混乱します。具体的には、user @ Host.comの部分です。
したがって、回答の1つには、4つのユースケースがあります。これが私がそれらを理解する方法です。私が間違っている場合は私を訂正してください。簡単にするために、ローカルマシンでsshコマンドを実行していると仮定します。
ssh -L 123:localhost:456 [email protected]
ssh -L 123:google.com:456 [email protected]
ssh -R 123:localhost:456 [email protected]
ssh -R 123:google.com:456 [email protected]
だから私の質問は:なぜ#2に[email protected]が必要なのですか?そして、私は何か間違ったことをしましたか?
更新
わかりました、私は今それを得ると思います。 [email protected]の部分について誤解し、オプションだと思いました。 sshセッションが最初に確立されているようで、その後、port:Host:portが評価されます。
例:#2の場合、最初にexample.comへのセッションを確立してから、トラフィックをgoogle.com:456に転送します。 #1の場合、最初にexample.comへのセッションを確立してから、トラフィックをlocalhost:456(同じホスト)に転送します。
2番目のケースは、example.comが[google.com]ホストに接続できるのに、ボックスが接続できない状況で非常に役立ちます。たとえば、リストにないホストにアクセスしたいときに、いくつかのボックスに制限されているVPN接続があるとします。 ssh -L 123:target.Host.com:[email protected]。
したがって、基本的な使用法は、ネットワークの内側にジャンプするか、ネットワークの外側にジャンプすることです(sshをある種のプロキシ/ゲートウェイに)。
そして最後に、特定のホストからの接続のみを受け入れるターゲットサーバーにファイアウォールの制限がある場合があります。