この質問では:SSHポート転送とは何ですか?SSHローカルポート転送とリモートポート転送の違いは何ですか?、この使い方が混乱しています。
ssh -L 123:farawayhost:456 remotehost
ssh -L sourcePort:forwardToHost:onPort connectToHost
意味:SSHを使用して接続connectToHost
し、すべての接続試行を転送します。地元のsourcePort
onPort
ポート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] -N
username
2.3.4.5
認証に成功すると、指定されたとおりにssh
ログインされませんが、-N
接続が確立されます。したがって、送信されたすべてのデータは地元のポートは最初に(ポート)を介して10283
送信し、ポートにデータを送信します。2.3.4.5
ssh
22
2.3.4.5
1.2.3.4
8000.
それでは、htmlファイルを作成し、echo hello > index.html
それを使ってhttpサーバーを実行してみましょう。1.2.3.4
python -m http.server
次に、localhost:10283
ローカルコンピュータに入力します。
ローカルコンピュータ:
存在する1.2.3.4
: