安全なコマンドラインインターフェイスは、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アクセス権が必要です。 |
従って、暗号化された接続でPOPを使用しているmail.example.comというサーバー上の電子メールをチェックするには、 次のコマンドを使用します:
ssh -L 1100:mail.example.com:110 mail.example.com |
ポートフォワーディングのチャンネルがクライアントマシンとメールサーバーの間で設定されると、 ローカルホスト上のポート1100を使用して新しいメールをチェックするように、POPメールクライアントに 指示できます。クライアントシステム上のポート1100へ送られた要求はどれもmail.example.comサーバーに 安全に転送されます。
mail.example.comでSSHサーバーが実行されていなくても、同じネットワーク上の別の マシンで実行している場合は、この接続の一部を安全にする為にSSHを使用出来ます。 但し、以下のように少々異なるコマンドを必要とします:
ssh -L 1100:mail.example.com:110 other.example.com |
この例では、クライアントマシンのポート1100からポート22上のSSH接続を介してSSHサーバー other.example.comにPOP要求を転送しています。 これで、other.example.comは、mail.example.com上の ポート110に接続して、新しいメールがあるどうかをチェックします。この手法で安全なのは、クライアントシステムと other.example.comSSHサーバー間の接続だけであることに注意して下さい。
ポートフォワーディングは、ネットワークファイアウォールを利用して情報を安全に取得するのにも使用できます。 標準ポート(22)経由のSSHトラフィックは許可するけれども、他のポートへのアクセスは阻止するように ファイアウォールを設定した場合、阻止されたポートを使用する2つのホスト間の接続は、確立された SSH接続を介して通信をリダイレクトすることで可能になります。
注意 | |
---|---|
ポートフォワーディングを使用してこのように接続を転送すると、クライアントシステム上のユーザーは、 誰でも、そのサービスに接続できるようになります。もしクライアントシステムに侵入があった場合、 侵入者も転送されたサービスにアクセスできます。 ポートフォワーディングを担当しているシステム管理者は、/etc/ssh/sshd_config内のAllowTcpForwarding行でNoパラメータを指定して、sshdサービスを再起動することで、サーバーのこの機能を無効にすることができます。 |