ssh -L 123:farawayhost:456 リモートホストとは何ですか?

ssh -L 123:farawayhost:456 リモートホストとは何ですか?

この質問では:SSHポート転送とは何ですか?SSHローカルポート転送とリモートポート転送の違いは何ですか?、この使い方が混乱しています。

ssh -L 123:farawayhost:456 remotehost

ssh -L sourcePort:forwardToHost:onPort connectToHost意味:SSHを使用して接続connectToHostし、すべての接続試行を転送します。地元の sourcePortonPort ポートforwardToHostにアクセスできるコンピュータのポートに接続します。connectToHost

「…、どういう意味ですか?」到達できるconnectToHostマシンから。 「それはまさにどういう意味ですか?

私が正しく理解したならば、ssh -L 123:localhost:456 remotehostこれは上記のコマンドの特定のケースであり、ここと両方がfarawayhost同じremotehostシステムにあります。

それでは、同じコンピュータにいるときfarawayhostといない場合はremotehostどうなりますか?これは最初にログインしremotehostてから再度ログインする必要があるという意味ですかfarawayhost

答え1

最初はなぜ混乱したのかわかりません。もともと答えが明確ではなかったからかもしれませんが、突然理解するようになりました。

2台のコンピュータがあり、そのコンピュータのパブリックIPが1.2.3.4それぞれ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.htmlそれを使ってhttpサーバーを実行してみましょう。1.2.3.4python -m http.server

次に、localhost:10283ローカルコンピュータに入力します。

ローカルコンピュータ:

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

存在する1.2.3.4

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

関連情報