14.5.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 サーバーに転送されます。
mail.example.com が SSH サーバーを実行しておらず、同じネットワーク上にある別のマシンの場合でも、SSH を使用して接続の一部をセキュアにすることができます。ただし、若干異なるコマンドが必要になります。
~]$ ssh -L 1100:mail.example.com:110 other.example.com
この例では、クライアントマシンのポート 1100 からの POP3 要求がポート 22 の SSH 接続を介して SSH サーバー other.example.com に転送されます。次に、other.example.commail.example.com のポート 110 に接続し、新規メールを確認します。この手法を使用する場合、クライアントシステムと other.example.com SSH サーバー間の接続のみがセキュアである点に注意してください。
ポート転送は、ネットワークのファイアウォール経由でセキュアに情報を取得する場合にも使用できます。ファイアウォールが標準ポート (ポート 22) 経由の SSH トラフィックを許可するよう設定されているものの、他のポートへのアクセスはブロックする場合でも、確立された SSH 接続にそのような通信をリダイレクトすることにより、ブロックされたポートを使用した 2 つのホスト間の接続は可能になります。
重要
この方法で接続を転送すると、クライアントシステムの任意のユーザーがそのサービスに接続できるため、接続のセキュリティーはクライアントシステムとしてのみ保護されます。クライアントシステムが危険にさらされると、攻撃者は転送されたサービスにアクセスすることもできます。
必要に応じて、/etc/ssh/sshd_config ファイルの AllowTcpForwarding 行に No パラメーターを指定して sshd サービスを再起動し、この機能を無効にします。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.