Solaris Secure Shell を使用して、ファイアウォール内部のホストからファイアウォール外部のホストに接続することができます。接続するには、構成ファイル内またはコマンド行オプションに ssh のプロキシコマンドを指定します。コマンド行オプションについては、例 19–7 を参照してください。
通常は、構成ファイルを使用して、ssh の対話操作をカスタマイズします。
1 つの方法として、~/.ssh/config の個人用構成ファイルをカスタマイズします。
もう 1 つの方法として、管理構成ファイル /etc/ssh/ssh_config を使用します。
ファイルは、2 種類のプロキシコマンドでカスタマイズできます。一方が HTTP 接続用、もう一方が SOCKS5 接続用です。詳細は、ssh_config(4) のマニュアルページを参照してください。
構成ファイルにプロキシコマンドとホストを指定します。
次の構文を使用して、必要なプロキシコマンドとホストの数に応じて行を追加します。
[Host outside-host] ProxyCommand proxy-command [-h proxy-server] \ [-p proxy-port] outside-host|%h outside-port|%p |
コマンド行で遠隔ホスト名を指定した場合、プロキシコマンド指定をインスタンスに限定します。outside-host でワイルドカードを使用した場合、一連のホストに対してプロキシコマンド指定が適用されます。
プロキシコマンドを指定します。
次のいずれかを指定できます。
HTTP 接続の場合は、/usr/lib/ssh/ssh-http-proxy-connect
SOCKS5 接続の場合は、/usr/lib/ssh/ssh-socks5-proxy-connect
これらのオプションは、プロキシサーバーとプロキシポートをそれぞれ指定します。これらのオプションは、HTTPPROXY、HTTPPROXYPORT、SOCKS5_PORT、SOCKS5_SERVER、http_proxy などの、プロキシサーバーとプロキシポートを指定するどのような環境変数よりも優先されます。http_proxy 変数は URL を指定します。これらのオプションを指定しない場合、適切な環境変数を設定する必要があります。詳細は、ssh-socks5-proxy-connect(1) および ssh-http-proxy-connect(1) のマニュアルページを参照してください。
接続先のホストを指定します。%h 代入引数を使うとコマンド行からホストを指定できます。
接続先のポートを指定します。%p 代入引数を使うとコマンド行からポートを指定できます。Host outside-host オプションを使わずに %h と %p を指定した場合、ssh コマンドが呼び出されるたびに、引数に指定されたホストにプロキシコマンドが適用されます。
外部のホストを指定して、Solaris Secure Shell を実行します。
たとえば、次のように入力します。
myLocalHost% ssh myOutsideHost |
このコマンドは、個人用構成ファイル内で myOutsideHost のプロキシコマンド指定を検索します。指定が検出されない場合、このコマンドは、システム全体の構成ファイル /etc/ssh/ssh_config から検索します。プロキシコマンドが ssh コマンドに置き換わります。
「ファイアウォール外部のホストにデフォルト接続を設定する方法」では、構成ファイルでプロキシコマンドを指定する方法について説明しました。この例では、プロキシコマンドを ssh コマンド行で指定します。
% ssh -o'Proxycommand=/usr/lib/ssh/ssh-http-proxy-connect \ -h myProxyServer -p 8080 myOutsideHost 22' myOutsideHost |
ssh コマンドの -o オプションには、プロキシコマンドを指定するコマンド行を入力できます。この例のコマンドは次のことを行います。
ssh を HTTP プロキシコマンドに置き換える
プロキシサーバーとして、ポート 8080 および myProxyServer を使用する
myOutsideHost のポート 22 に接続する