ssh -L 123:farawayhost:456 remotehost とは何ですか?

ssh -L 123:farawayhost:456 remotehost とは何ですか?

この質問から来ました:SSH ポート転送とは何ですか? SSH ローカル ポート転送とリモート ポート転送の違いは何ですか?、私はこの用法について混乱しています:

ssh -L 123:farawayhost:456 remotehost

ssh -L sourcePort:forwardToHost:onPort connectToHostは、 sshでに接続しconnectToHost、すべての接続試行を転送することを意味します。地元 sourcePortマシンからアクセスできる とonPort呼ばれるマシン上のポートへ 。forwardToHostconnectToHost

「...」とはどういう意味ですか?到達できる「マシンからconnectToHost」とは具体的にどういう意味ですか?

私の理解が正しければ、ssh -L 123:localhost:456 remotehostは上記のコマンドの特殊なケースであり、 と の両方farawayhostremotehost同じマシン上にあるということです。

では、 と が同じマシン上にない場合はfarawayhostremotehostどのように動作するのでしょうか?remotehost最初に にログインしてから にログインする必要があるということでしょうかfarawayhost?

答え1

最初はなぜ混乱したのかわかりません。おそらく、元の回答が十分に明確ではなかったからでしょうが、その後、突然、その理由が分かりました。

パブリック IP が1.2.3.4とである 2 台のマシンがあるとします2.3.4.5

使用法は次のようになります: 、改行が求められ、 のパスワードが要求されます。ssh -L 10283:1.2.3.4:8000 [email protected] -Nusername2.3.4.5

ここに画像の説明を入力してください

認証に成功した場合、指定されたsshためログインできません-Nが、接続は確立されています。そのため、送信されるデータは地元ポートは最初に(ポート)経由で10283送信され、次にポートにデータが送信されます。2.3.4.5ssh222.3.4.51.2.3.48000.

ここで、 で HTML ファイルを作成し、でecho hello > index.htmlhttp サーバーを実行します。1.2.3.4python -m http.server

そして、localhost:10283ローカル PC で入力します。

ローカルPC:

ここに画像の説明を入力してください

の上1.2.3.4

ここに画像の説明を入力してください

関連情報