Solaris のシステム管理 (セキュリティサービス)

ファイアウォール外部のホストにデフォルト接続を設定する方法

Secure Shell を使用して、ファイアウォール内部のホストからファイアウォール外部のホストに接続することができます。接続するには、構成ファイル内またはコマンド行オプションに ssh のプロキシコマンドを指定します。詳細は、「例 - コマンド行からファイアウォール外部のホストに接続する」を参照してください。

通常は、個人用構成ファイル $HOME/.ssh/config または管理構成ファイル/etc/ssh/ssh_config を使用して、ssh の対話操作をカスタマイズできます (ssh_config(4) マニュアルページを参照)。プロキシコマンドには 2 種類あり、一方が HTTP 接続用、もう一方が SOCKS5 接続用です。

  1. 構成ファイルにプロキシコマンドとホストを指定します。

    次の構文を使用して、必要なプロキシコマンドとホストの数に応じて行を追加します。


    [Host outside_host]
    ProxyCommand proxy_command [-h proxy_server] \
    [-p proxy_port] outside_host|%h outside_port|%p

    このホスト (ワイルドカードを使用した場合は複数のホスト) がコマンド行で指定されたときに、このプロキシコマンドの指定をインスタンスに限定するには、Host outside_host オプションを使用します。

    proxy_command の指定は、次のいずれかに置き換えます。

    • HTTP 接続の場合は、/usr/lib/ssh/ssh-http-proxy-connect

    • SOCKS 接続の場合は、/usr/lib/ssh/ssh-socks5-proxy-connect

    -h proxy_server- p proxy_port オプションには、それぞれプロキシサーバーとプロキシポートを指定します。これらのオプションを指定した場合は、プロキシサーバーとプロキシポートを指定する環境変数 (HTTPPROXYHTTPPROXYPORThttp_proxy (URLを指定する場合)、SOCKS5_SERVER、および SOCKS5_PORT) よりもオプションが優先されます。このオプションを指定しない場合は、関連する環境変数を設定する必要があります。ssh-socks5-proxy-connect(1)ssh-http-proxy-connect(1) のマニュアルページを参照してください。

    outside_host を使用して接続先のホストを指定するか、%h を使用してコマンド行でホストを指定します。outside_port または %p を使用して、ポートを指定します。Host outside_host オプションを使用しないで %h%p を指定すると、ssh が起動するたびにプロキシコマンドがホスト引数に適用されます。

  2. 外部のホストを指定して、Secure Shell を実行します。

    たとえば、次のように入力します。


    myLocalHost% ssh myOutsideHost
    

    このコマンドは、個人用構成ファイル内で myOutsideHost のプロキシコマンド指定を検索します。検出されない場合は、システム全体の構成ファイル ssh_config から検索します。プロキシコマンドが ssh に置き換わります。

例 - コマンド行からファイアウォール外部のホストに接続する

ssh-o オプションには、ssh 構成ファイル内で使用できる任意の行を入力できます。ここでは、前述の例のプロキシコマンド指定を使用します。

構成ファイルにプロキシコマンドとホストを指定します。

ssh を実行します。このとき、-o オプションにプロキシコマンドを指定してください。たとえば、次のように入力します。


% ssh -o'Proxycommand=/usr/lib/ssh/ssh-http-proxy-connect \
-h myProxyServer -p 8080 myOutsideHost 22' myOutsideHost

このコマンドは、ssh を HTTP プロキシコマンドに置き換え、ポート 8080myProxyServer をプロキシサーバーとして使用し、 myOutsideHost のポート 22 に接続します。