Show Table of Contents
12.4.2. ポート転送
SSH は、ポート転送によりセキュリティ保護されていない
TCP/IP プロトコルをセキュアにすることができます。この手法を使用する場合、SSH サーバーは SSH クライアントをつなぐ暗号化された経路となります。
ポート転送は、クライアント上のローカルポートをサーバー上のリモートポートにマッピングすることで機能します。SSH ではサーバーの任意のポートをクライアント上の任意のポートにマッピングすることが可能です。この方法が機能するために、ポート番号が一致する必要はありません。
注記
1024 未満のポートで待機するようにポート転送を設定するには、root レベルのアクセスが必要です。
localhost 上で接続を待機する TCP/IP ポート転送チャンネルを作成するには、以下の形式でコマンドを使用します:
ssh -L local-port:remote-hostname:remote-port username@hostname
例えば、暗号化された接続を介し
POP3 を使用して、mail.example.com と呼ばれるサーバーで電子メールを確認するには、以下のコマンドを使用します:
~]$ ssh -L 1100:mail.example.com:110 mail.example.com
ポート転送チャンネルがクライアントマシンとメールサーバー間に配置されたら、POP3 メールクライアントに対し
localhost 上のポート 1100 を使用して、新規の電子メールを確認するように指示します。クライアントシステム上のポート 1100 に送信される全要求は mail.example.com サーバーにセキュアに移動します。
SSH サーバーを実行しているのが
mail.example.com ではなく、同一のネットワーク上にある別のマシンの場合でも、SSH を使用して接続の一部をセキュアにすることができます。ただし、若干異なるコマンドが必要です:
~]$ ssh -L 1100:mail.example.com:110 other.example.com
この例では、クライアントマシン上のポート
1100 からの POP3 要求がポート 22 の SSH 接続を介して SSH サーバー other.example.com に転送されます。次に、other.example.com は mail.example.com 上のポート 110 に接続して、新規の電子メールを確認します。この手法を使用する場合、クライアントシステムと other.example.com SSH サーバー間の接続のみがセキュアである点に注意して下さい。
ポート転送は、ネットワークのファイアウォールを介してセキュアに情報を取得する場合にも使用できます。ファイアウォールが SSH トラフィックをその標準ポート (ポート 22) を介して許可するよう設定されているが、他のポートへのアクセスはブロックする場合でも、確立された SSH 接続でそうした通信をリダイレクトすることにより、ブロックされたポートを使用した 2 つのホスト間の接続は可能になります。
重要
この方法でポート転送を使って接続を転送すると、クライアントシステム上のどのユーザーもそのサービスに接続できます。クライアントシステムが侵害された場合、攻撃者は転送されたサービスにアクセスすることもできます。
システム管理者がポート転送に懸念がある場合は、
/etc/ssh/sshd_config にある AllowTcpForwarding の行に No パラメーターを指定して sshd サービスを再起動することにより、サーバー上でこの機能を無効にすることができます。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.