最近下の映像を見ました。
ssh [email protected] -L <some_ip>:2182:127.0.0.1:2181
ポートフォワーディングはすでによく知っていると思っていましたが、その存在自体が<some_ip>
混乱しています。私を指導してくれる経験がある人はいますか?正確にこのコードは何をしていますか?
答え1
<some_ip>:2182
これは、ローカルシステムでリッスンし、受信したトラフィックをリモートシステム127.0.0.1:2181
に転送する一般的なローカルポート配信です。バインドするローカルIPアドレスは通常指定されていませんが(デフォルトはlocalhost
)、IPアドレスを受信したい場合は明示的に指定できます。特別な相互作用。
~からman ssh
:
-エル[バインディングアドレス:]ポート:所有者:ホストポート
-エル[バインディングアドレス:]ポート:リモートソケット
-エル ローカルソケット:所有者:ホストポート
-エル ローカルソケット:リモートソケット
ローカル(クライアント)ホストの指定されたTCPポートまたはUnixソケットへの接続が、リモート側の指定されたホストおよびポートまたはUnixソケットに転送されることを指定します。これはTCPを受信するソケットを割り当てることによって達成されます。ポートローカル側では、オプションで指定された項目にバインドされます。バインディングアドレス、またはUnixソケットに接続します。ローカルポートまたはソケットに接続するたびに、接続はセキュアチャネルを介して転送され、両方のポートのいずれかに接続されます。 所有者ポートホストポート、またはUnixソケットリモートソケット、リモートシステムから。
ポート転送は設定ファイルでも指定できます。スーパーユーザーだけが特権ポートを転送できます。 IPv6 アドレスは、アドレスを角かっこで囲むことで指定できます。
デフォルトでは、ローカルポートは次のとおりです。ゲートウェイポート環境。しかし、明確なバインディングアドレス特定のアドレスに接続をバインドするために使用できます。これバインディングアドレス「localhost」は、受信ポートがローカル専用であることを示し、空のアドレスまたは「*」は、ポートがすべてのインターフェイスで使用可能であることを示します。
答え2
宛先アドレスがプライベート、ローカルホスト、またはファイアウォールの背後にあるため、直接接続できない場合(たとえば)SSHポート転送が必要です。