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