web-dev-qa-db-ja.com

「ローカルポート転送」と「動的ポート転送」の違いは何ですか?

「ローカルポート転送」と「動的ポート転送」の違いを理解しようとしています。

「ローカルポート転送」のsshコマンドで、宛先ホストを指定することは常に必要ですか?

「動的ポート転送」の「動的」は、「動的ポート転送」のsshコマンドで、宛先ホストを指定する必要がないことを意味しますか?はいの場合、宛先はいつ指定されますか?

14
Tim

はい、ローカル転送を使用する場合は、宛先IPとポートを指定する必要があります。から man ssh

 -L [bind_address:]port:Host:hostport
         Specifies that the given port on the local (client) Host is to be
         forwarded to the given Host and port on the remote side.

明らかに、バインドアドレスのみがオプションです。

いいえ、動的転送を使用する場合は、宛先ホストまたはポートを指定できません。動的転送では、SSHはSOCKSプロキシとして機能します。再びマンページから(私の強調):


 -D [bind_address:]port
         Specifies a local “dynamic” application-level port forwarding.
         This works by allocating a socket to listen to port on the local
         side, optionally bound to the specified bind_address.  Whenever a
         connection is made to this port, the connection is forwarded over
         the secure channel, and the application protocol is then used to
         determine where to connect to from the remote machine.  Currently
         the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
         as a SOCKS server.

-L、SSHはトラフィックを理解しようとしません。ローカルポートで受信したすべてをターゲットポートに送信するだけです。接続が確立されるときにターゲットポートを決定します。 -D、SSHはプロキシサーバーとして機能するため、複数のポートからの接続を処理できます(たとえば、SOCKSプロキシとして使用するように構成されたブラウザは、同じ接続を介してHTTP、HTTPS、FTPなどにアクセスできます)。また、他のプロキシサーバーと同様に、トラフィックを使用して宛先を決定します。

15
muru

この概念を学ぶもう1つの方法は、クライアントがAmazonのエラスティックマップリデュース(EMR)クラスターに接続する方法を確認することです。 EMRには多数のローカルアプリがあり、公開されており、これらは通常SSHトンネルを介してアクセスされます。

クライアントには2つのオプションがあります:A)ローカルポート転送SSHコマンド:ssh -i key.pem -L 8157:a.b.c.d:8088 [email protected]

ここで、クライアントは、たとえば、localhost上の8157がabcd:8088に転送されると言います。クライアントは、localhostに要求を行う必要があります。 http:// localhost:8157 他のアプリケーションは、 8089、8090として、クライアントはこれらのそれぞれに対してssh接続を行う必要があります。

B)動的ポート転送ここでは、単一のSSHコマンドが使用されます。ssh -i key.pem -D 8157 [email protected]

ポート8157に入るすべてのトラフィックは、sshトンネル経由でルーティングされます。トラフィックの宛先はURLの宛先になります。たとえば、ウェブサーバーでプロキシクライアントを使用し、いくつかのhttp URIをリダイレクトしてプロキシを使用できます。 1つのコマンドで8089、8090上のすべてのアプリケーションにアクセスできます。

参考のために、このドキュメントを参照してください: https://docs.aws.Amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html

0
M Ga