安全なコマンドラインインターフェイスは、SSHを使用できる数多くの方法のまさに開始点です。正しい量の帯域幅が割り当てられていれば、X11セッションをSSHチャンネル上で送信することができます。また、TCP/IPフォワーディングを使用することで、以前は安全性に欠けていたシステム間のポート接続を特定のSSHチャンネルにマップすることができます。
確立されているSSH接続上でX11セッションを開くことは、ローカルマシンでXプログラムを実行するのと 同じくらい簡単なことです。セキュアシェルプロンプトからXプログラムを実行すると、SSHクライアントと SSHサーバが現在のSSH接続内で新しい安全なチャンネルを作成し、Xプログラムのデータがそのチャンネルを 介して透過的にクライアントマシンに送られます。
X11フォワーディングは非常に便利です。たとえば、X11フォワーディングを使用して、up2dateとの安全で インタラクティブなセッションを構成できます。これを実行するには、sshを使用してサーバに 接続して以下を入力します:
up2date & |
サーバ用のrootパスワードを入力すると、Red Hat 更新 エージェントが表示されリモートユーザーは安全にリモートシステムの更新をすることができます。
SSHを用いると、そのままでは不安全なTCP/IPプロトコルをポートフォワーディング経由で 安全にすることが出来ます。この技術を使用する時、SSHサーバはSSHクライアントに対して 暗号化されたコンジット(経路)になります。
ポートフォワーディングは、 クライアント上のローカルポートをサーバ上のリモートポートにマップすることで動作します。 SSHは、サーバからクライアントへいずれのポートもマッピングできます。 SSHを動作させるためにポート番号を適合させる必要はありません。
ローカルホスト上で接続を受信待機するTCP/IPポートフォワーディングチャンネルを作成するには、 次のコマンドを実行します:
ssh -L local-port:remote-hostname:remote-port username@hostname |
![]() | 注記 |
---|---|
ポートフォワーディングを設定して1,024以下のポートで受信待機するには root アクセス権が必要です。 |
暗号化された接続でPOP3を使用しているmail.example.com というサーバの電子メールをチェックするには、次のコマンドを使用します。
ssh -L 1100:mail.example.com:110 mail.example.com |
ポートフォワーディングのチャンネルがクライアントマシンとメールサーバの間で設定されると、POP3 メールクライアントにローカルホスト上のポート1100を使用して新しいメールをチェックするように指示します。クライアントシステム上のポート1100へ送られた要求は、どれもmail.example.comサーバに安全に転送されます。
mail.example.comでSSHサーバが実行されていなくても、 同じネットワーク上の別のマシンで実行している場合は、 この接続の一部を安全にする為にSSHを使用できます。 但し、以下のように若干異なるコマンドを必要とします。
ssh -L 1100:mail.example.com:110 other.example.com |
この例では、クライアントマシンのポート1100からの POP3要求が、SSH接続を介してSSHサーバ other.example.com のポート22に転送されています。それから、other.example.comが、mail.example.com上のポート 110に接続して、新しいメールがあるどうかをチェックします。この手法で安全なのは、クライアントシステムとother.example.com SSHサーバー間の接続だけであることに注意してください。
ポートフォワーディングは、ネットワークファイアウォールを利用して情報を安全に取得するのにも使用できます。 標準ポート(22)経由のSSHトラフィックは許可するけれども、他のポートへのアクセスは阻止するように ファイアウォールを設定した場合、阻止されたポートを使用する2つのホスト間の接続は、確立された SSH接続を介して通信をリダイレクトすることで可能になります。
![]() | 注記 |
---|---|
ポートフォワーディングを使用してこのように接続を転送すると、 クライアントシステム上のユーザーは、誰でも、そのサービスに接続できるようになります。 万一、クライアントシステムが感染した場合、 侵入者も転送されたサービスにアクセスできるようになります。 ポートフォワーディングを担当しているシステム管理者は、 /etc/ssh/sshd_config内の AllowTcpForwarding行でNoパラメータを指定して、 sshdサービスを再起動することで、 サーバのこの機能を無効にすることができます。 |