リモートホストに転送されるローカルポートを指定することができます。指定すると、ソケットはローカル側で、そのポートを待機します。このポートからリモートホストへの接続は、セキュリティ保護されたチャネルを介して行われます。たとえば、IMAP4 で電子メールを安全にリモート受信するためにポート 143 を指定します。また、リモート側のポートを指定することもできます。
Secure Shell ポート転送では TCP 接続を使用する必要があります。Secure Shell は UDP 接続をサポートしていません。
ローカルポートを転送元として設定するには、2 つのポートを指定します。待機するローカルポートを指定し、転送先のリモートホストとポートを指定します。
myLocalHost% ssh -L localPort:remoteHost:remotePort |
リモートポートをセキュリティ保護された接続の受信元として設定するには、2 つのポートを指定します。待機するリモートポートを指定し、転送先のローカルホストとポートを指定します。
myLocalHost% ssh -R remotePort:localHost:localPort |
次の例は、ローカルポート転送を使用して、リモートサーバーからのメールを安全に受信する方法を示しています。
myLocalHost% ssh -L 9143:myRemoteHost:143 myRemoteHost |
このコマンドは、myLocalHost のポート 9143 を myRemoteHost のポート 143 (IMAP v2 のサーバーポート) に接続を転送します。ユーザーがメールアプリケーションを起動するときは、ローカルポート番号を指定する必要があります。dtmail コマンドの使用例を 図 11–1 に示します。
この例と 例 — リモートポート転送を使用してファイアウォールの外部と通信するで使用されている localhost は、ユーザーのローカルホストを指定するキーワードです。localhost キーワードと myLocalHost を混同しないでください。myLocalHost 変数は、この章の例で使用するローカルホストを表す仮のホスト名です。
この例では、エンタープライズ環境のユーザーが、外部ネットワーク上のホストから企業のファイアウォール内部のホストに接続を転送する方法を示しています。
myLocalHost% ssh -R 9022:myLocalHost:22 myOutsideHost |
このコマンドは、myOutsideHost 上のポート 9022 への接続をローカルホストのポート 22 (sshd サーバー) に転送します。
myOutsideHost% ssh -p 9022 localhost myLocalHost% |
このコマンドを使用すると、リモート転送接続が確立されたあとで、ssh コマンドを使用してリモートホストから安全に接続できます。