この章では、Secure Shell (SSH) を使用して通信を行うように N1 Grid Service Provisioning System 5.0 を構成する方法について説明しています。
N1 Grid Service Provisioning System 5.0 は、OpenSSH 2.0 を明示的にサポートしています。OpenSSH 2.0 は、OpenBSD Project によって開発された SSH の無料版です。詳細については、http://www.openssh.com を参照してください。このソフトウェアは、ほかの SSH バージョンをサポートするようにも構成できます。
ネットワーク内の各サーバーで同じ SSH 実装を使用すると、鍵の互換性が保たれ、サーバー通信が正しく行われます。ネットワーク上の各サーバーに異なる SSH 実装を使用することもできますが、それらの実装に互換性があることと、相互運用が可能であるかを検証する必要があります。
この章で紹介するコマンドとインタフェースは、OpenSSH 2.0 用です。その他のバージョンの SSH を使用する場合は、その SSH の付属文書で、対応するコマンドやオプションを確認してください。OpenSSH 2.0 のコマンドとオプションの詳細については、「OpenSSH 2.0 コマンドリファレンス」を参照してください。
この章の内容は、次のとおりです。
SSH は、リモートコンピュータに安全にアクセスするための UNIX ベースのコマンド群/プロトコルです。SSH は、電子証明書とパスワードの暗号化を利用して、接続の両端で認証を行うことにより、ネットワーク上のクライアントとサーバーの通信を保護します。また、RSA 公開鍵暗号を使用して接続と認証を管理します。SSH は、Telnet やほかのシェルベース通信方式よりも安全性が高く、Web サーバーなどのリモートサーバーの管理に使用されます。
ほかの接続タイプと異なり、2 つの N1 Grid Service Provisioning System 5.0 アプリケーション間に SSH 接続を設定した場合、ダウンストリームのアプリケーションは手動で起動する必要がありません。ダウンストリームのアプリケーションは、必要な場合にアップストリームのアプリケーションによって自動的に起動されます。ダウンストリームのアプリケーションは、使用されている間は継続して動作しますが、一定の時間 (この時間は設定可能) 使用されないと自動的に停止します。
SSH 接続では、ダウンストリームのアプリケーションの手動起動は行わないでください。たとえば、SSH を使用して Remote Agent に接続するように Local Distributor を設定した場合、Remote Agent を手動では起動しないでください。Local Distributor は、必要時に Remote Agent を自動的に起動します。Remote Agent は、使用されている間は継続して作動します。Remote Agent が一定時間使用されなかった場合、Local Distributor は自動的に Remote Agent を停止します。
SSH は構成時に、ssh-agent を使用するか、空のパスワード鍵を使用するかを選択できます。空のパスワード鍵を使用すると、生成された SSH 非公開鍵は空のパスワード付きで格納されます。この結果、この非公開鍵はパスワードなしでアクセスできます。公開鍵を信頼するほかのマシンとの通信に SSH を使用する場合、パスワードの入力は求められません。ssh-agent を使用する場合は、生成される非公開鍵はセキュリティ保護されたパスワードと共に格納され、安全なメディアに格納されます。ほかのマシンと通信を行うときは、ssh-agent を起動し、安全なメディアから非公開鍵をアップロードし、パスワードを入力します。非公開鍵はファイルシステムには格納されず、ssh-agent プロセスのメモリー内に格納されます。
ssh-agent を使用する場合、非公開鍵は Master Server 上でしか実行されない ssh-agent によって格納されます。ネットワーク上のほかのマシンには公開鍵が配布されます。認証が必要な SSH アプリケーションは、ssh-agent を使用して認証を行います。認証のために Master Server で実行されている ssh-agent に対して Local Distributor からプロキシ設定が行えるように中間的な SSH 接続を確立するには、ssh-agent の転送機能を有効にする必要があります。Local Distributor は、ssh-agent の転送機能を使用してダウンストリームの Local Distributor と Remote Agent に認証情報を渡します。この方法は、前述の方法よりも安全です。また、N1 Grid Service Provisioning System 5.0 で ssh-agent を使用するように構成した方が、空のパスワードを設定するよりも簡単です。
空のパスワードを使用すると、非公開鍵はパスワードなしでマシンのファイルシステム上に格納されます。非公開鍵は、SSH 通信を開始するすべてのマシン上に置く必要があります。N1 Grid Service Provisioning System 5.0 の場合、SSH を使用してダウンストリームのアプリケーションに接続している Master Server とLocal Distributor はすべて、非公開鍵を持っていなければなりません。この方法は安全性に劣ります。
N1 Grid Service Provisioning System 5.0 には、次の SSH 機能が必要です。
ssh によるリモートコマンド呼び出し
公開 / 非公開鍵ペアによる認証
BatchMode yes インタラクション (オペレータの介入なしで ssh コマンドを呼び出す機能) のサポート
ssh-agent を使用する場合は、次の SSH 機能が必要です。
ssh-agent のサポート
SSH における ssh-agent 転送機能のサポート。Open SSH での -A オプションの使用
SSH 接続を行うようにマシンを構成する場合は、次の機能が役に立ちます。ただし、これらは必須機能ではありません。
リモートコマンドを呼び出す時の tty の強制割り当て。OpenSSH での -t オプションの使用
ssh エージェントの強制終了。OpenSSH での ssh-agent コマンドの -k オプションの使用
高度なセキュリティを実現する RSA 鍵の生成。OpenSSH での -t rsa の使用
次のチェックリストを使用し、SSH の実装が N1 Grid Service Provisioning System 5.0 の要件を満たしているか確認してください。
ssh-keygen コマンドは、SSH 呼び出しの認証に使用できる 公開 / 非公開鍵ペアを生成する必要があります。
追加情報なしでホスト鍵の交換やパスワードの取得が可能な指定のホストで、認証用非公開鍵がパスワードなしで (または空のパスワード付きで) 生成された場合、次の ssh コマンドを実行できる必要があります。
% ssh –o `BatchMode yes' hostname |
パスワード付きで生成された非公開鍵を使用してアップロードされた現在のホストで ssh-agent を実行し、現在のホストから host1、host2、host3 へとホップしたとします。このあと、追加情報なしでホスト鍵の交換やパスワードの取得が可能な場合、次の ssh コマンドを実行できる必要があります。
% ssh –o `BatchMode yes' –A host1 ssh –o `BatchMode yes' –A host2 ssh –o `BatchMode yes' host3 |
ssh コマンドは、その標準の入出力とエラーストリームを、リモートマシンで実行されているコマンドに対して正しくパイプできる必要があります。
ssh-add コマンドは、パスワード付きの非公開鍵を認証用として ssh-agent にアップロードできる必要があります。
SSH を使用してRemote Agent を起動する場合、Remote Agent は jexec ラッパーを使用して Java 仮想マシンを起動します。このラッパーはスーパーユーザー (root) が所有するネイティブの実行可能ファイルであり、setuid ビットセットを持っています。このファイルは Remote Agent のインストールに使用したユーザーと同じグループ ID を持ち、このグループに実行許可を与えます。このファイルは、Remote Agent のインストールに使用したユーザーアカウントが所有する protect というディレクトリに保存されます。このファイルの実行許可が与えられるのは、Remote Agent を所有するユーザーだけです。ほかのユーザーは jexec ラッパーを実行できません。
どのような場合でも jexec と protect のファイルアクセス許可が誤って変更されることがないように対策を施してください。
jexec のセキュリティは、次の変更を加えることによって強化できます。
JVM 実行ファイル (通常、シェルスクリプト) はアプリケーションを所有するスーパーユーザー (root) またはユーザーによって所有されるようにし、ほかのユーザーやグループには書き込み許可を与えないないようにします。N1 Grid Service Provisioning System 5.0 で JRE をインストールする場合は、N1SPS5.0-home/common/jre 内の全ファイルがアプリケーションを所有するユーザーによって所有されるようにし、ほかのユーザーやグループに書き込み許可を与えないようにします。
アプリケーションを所有するユーザーのユーザー ID は、SSH を使用したログインにだけ許可します。SSH を使用してログインする場合は、公開鍵認証だけを許可します。ほかのユーザーまたはグループには、/N1SPS5.0-home/.ssh ディレクトリに対するアクセス許可を何も付与しません。
etc/sshd_config ファイルにパスワード認証を無効にする次の行を含めることにより、公開鍵認証だけを許可するように SSH サーバーを構成します。
PasswordAuthentication no |
etc/sshd_config ファイルに、RhostsRSAAuthentication を含む行が存在しないようにします (デフォルトではこの認証が許可されていないため)。さらに、RSAAuthentication という語が存在する場合は、この値を yes (デフォルト) に設定する必要があります。
Remote Agent のセキュリティをさらに強化する場合は、/N1SPS5.0-home/.ssh/authorized_keys2 ファイルを編集し、Master Server の公開鍵が含まれる行の前に次のテキストを追加します。
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty |
詳細については、sshd(1M) のマニュアルページを参照してください。
以下に、SSH を使用するように N1 Grid Service Provisioning System 5.0 を構成するために必要な作業の概要を示します。
空のパスワード付きの鍵を使用するか、ssh-agent を使用するかを決定します。
SSH セキュリティレベルの選択についての詳細は、「ssh-agent または空のパスワード鍵」を参照してください。
SSH 接続を開始するアプリケーション上で鍵を生成します。
「鍵ペアを作成する」を参照してください。
生成した鍵を Local Distributor と Remote Agent にコピーします。
空のパスワードが付いた鍵を使用するか ssh-agent を使用するかにもとづいて、次の一覧から妥当な作業を選択してください。
SSH 接続を設定します。続いて、接続テストを行います 。このテストは Master Server を起動する前に行なってください。
「Master Server での接続の設定とテスト」を参照してください。
SSH を使用するように Local Distributor と Remote Agent を設定します。
「Local Distributor と Remote Agent で使用するように SSH を構成する」を参照してください。
(省略可能) CLI Client が存在する場合は、SSH を使用するようにそれらのクライアントを設定します。
Master Server と Local Distributor 間、Master Server と Remote Agent 間の通信の認証に使用する 公開 / 非公開鍵ペアを生成します。続いて、生成された鍵を Local Distributor と Remote Agent にコピーします。ssh-agent を使用するか空のパスワード付きの鍵を使用するかにもとづいて、行う作業を選択してください。
次に、デフォルトの長さで鍵を作成する方法を示します。セキュリティを最大限に高めるには、できるだけ長い鍵を作成してください。
ssh-agent を使用する場合は、鍵ペアを 1 つ生成すればすみます。空のパスワードを使用する場合は、2 台のマシン間に確立される SSH 接続ごとに鍵ペアを 1 つ生成できます。あるいは、すべての接続に使用するように鍵ペアを 1 つだけ生成することも可能です。この作業を、生成する鍵ペアごとに行います。
N1 Grid Service Provisioning System 5.0 に使用するユーザー ID とグループ ID はネットワーク内の全サーバーで同じになるようにしてください。
Master Server (空のパスワードを使用し、接続ごとに鍵ペアを生成する場合はアップストリームのマシン) 上で、鍵を生成します。
% ssh-keygen –t rsa |
鍵を保存するように指示するメッセージが表示されます。
Return を押して、デフォルトの場所に鍵を保存します。
非公開鍵が /User-home/.ssh/id_rsa に保存されます。公開鍵は、/HOME/.ssh/id_rsa.pub に保存されます。
User-home には、現在ログインしているユーザーの Master Server マシン上のホームディレクトリを指定します。
パスワードを指定するためのプロンプトが表示されます。
パスワードを指定する必要があるかどうかを決定します。
空のパスワードの鍵を使用する場合は、パスワードを指定しないでください。Return キーを押して継続します。
ssh-agent を使用する場合は、鍵のパスワードを指定してください。
ssh-agent を使用する場合は、この作業を行なって Local Distributor と Remote Agent に鍵をコピーしてください。
Master Server で、非公開鍵ファイル ~/.ssh/id_rsa を安全なメディアにコピーします。
% cp /User-home/.ssh/id_rsa path_to_file/ |
User-home には、現在ログインしているユーザーの Master Server マシン上のホームディレクトリを指定します。path_to_file/ には、非公開鍵ファイルを保存する安全なメディアのパスを指定します。
ローカルファイルシステムから非公開鍵ファイルを削除します。
% rm /User-home/.ssh/id_rsa |
SSH を使用するように設定する各 Local Distributor と Remote Agent に公開鍵をコピーします。~/.ssh/authorized_keys2 ファイルに鍵を保存してください。
% cp /User-home.ssh/id_rsa.pub /User-home-APP/.ssh/authorized_keys2 |
User-home には、Master Server マシン上のホームディレクトリを指定します。User-home-APP には、現在ログインしているユーザーの Local Distributor または Remote Agent マシン上のホームディレクトリを指定します。
.ssh/ ディレクトリとその親ディレクトリ (存在する場合) が world-writable (誰でも書き込める状態) でないことを確認します。
.ssh/authorized_keys2 ファイルの書き込み許可を 600 に変更します。
ssh-agent の転送機能を有効にするため、Master Server と Local Distributor の config.properties ファイルにある次の行を編集します。
現在の構成は次のとおりです。
net.ssh.args=-o|BatchMode yes |
この行を編集して -A オプションを含めます。
net.ssh.args=-o|BatchMode yes|-A |
空のパスワードファイルを使用する場合で、1 組の鍵ペアだけを生成した場合は、この作業を行なって Local Distributor と Remote Agent に鍵をコピーしてください。
Master Server からアップストリームである各マシンに非公開鍵をコピーします。この鍵をホームディレクトリに保存してください。
% cp /User-home/.ssh/id_rsa /User-home-upstream/.ssh/id_rsa |
User-home には、現在ログインしているユーザーの Master Server マシン上のホームディレクトリを指定します。User-home-upstream には、アップストリームであるマシン上のホームディレクトリを指定します。アップストリームマシンとは、ダウンストリームであるマシンとの SSH 接続を開始するマシンです。
各 Local Distributor に固有の非公開鍵を設定することも、あるいはすべての Local Distributor に同じ非公開鍵を設定することもできます。
各ダウンストリームマシンに公開鍵をコピーします。/.ssh/authorized_keys2 ファイルに鍵を保存してください。
% cp /HOME-MS/.ssh/id_rsa.pub /HOME-downstream/.ssh/authorized_keys2 |
User-home には、Master Server マシン上のホームディレクトリを指定します。User-home-downstream には、先の手順で設定したマシンの接続先である Local Distributor マシンまたは Remote Agent マシン上のホームディレクトリを指定します。SSH を使用して接続するすべての Local Distributor と Remote Agent に公開鍵をコピーします。
.ssh/ ディレクトリとその親ディレクトリ (存在する場合) が world-writable (誰でも書き込める状態) でないことを確認します。
非公開鍵ファイル .ssh/id_rsa がほかのユーザーまたはグループによってアクセスできないことを確認します。
.ssh/authorized_keys2 ファイルの書き込み許可を 600 に変更します。
空のパスワードファイルを使用する場合で、SSH 接続ごとに鍵ペアを生成した場合は、この作業を行なって Local Distributor と Remote Agent に鍵をコピーしてください。
この作業は、ネットワーク上で確立されるSSH 接続ごと (つまり鍵ペアごと) に行なってください。
アップストリームマシンから、各ダウンストリームマシンに公開鍵をコピーします。User-home/.ssh/authorized_keys2 ファイルに鍵を保存してください。
% cp /User-home-upstream/.ssh/id_rsa.pub /User-home-downstream/.ssh/authorized_keys2 |
User-home-upstream には、アップストリームマシン上のホームディレクトリを指定します。Use-home-downstream には、アップストリームマシンの接続先である Local Distributor または Remote Agent マシン上のホームディレクトリを指定します。
.ssh/ ディレクトリとその親ディレクトリ (存在する場合) が world-writable (誰でも書き込める状態) でないことを確認します。
非公開鍵ファイル .ssh/id_rsa がほかのユーザーまたはグループによってアクセスできないことを確認します。
.ssh/authorized_keys2 ファイルの書き込み許可を 600 に変更します。
この節では、N1 Grid Service Provisioning System 5.0 で SSH を使用する前に実施すべき SSH の初期設定とテストについて説明します。ssh-agent を使用する場合は、設定とテストの作業を開始する前に ssh-agent を起動する必要があります。
この作業は、ssh-agent を使用する場合にのみ行います。この作業は、Master Server を起動する前に行なってください。
以下の設定作業で使用する SSH コマンド (ssh、ssh-add、および cr_server start) はすべて、ssh-agent の起動に使用したセッションで実行する必要があります。このセッションが終了している場合は、稼働している ssh-agent プログラムを停止し、新しい ssh-agent プログラムを起動しなければなりません。
ssh-agent を起動します。
% eval `ssh-agent` |
ssh-agent が起動し、このプログラムによって 2 つの環境変数が設定されます。SSH_AUTH_SOCK と SSH_AGENT_PID は、ssh-agent に接続するために ssh と ssh-add によって使用されます。
生成した非公開鍵をアップロードします。
% ssh-add path-to-file/ |
path-to-file/ には、非公開鍵ファイルを保存した安全なメディアのパスを指定します。
パスワードを指定するようにメッセージが表示されます。
鍵を生成した際に作成したパスワードを指定します。
ssh-agent は、コマンド eval `ssh-agent –k` を実行して停止できます。
このコマンドは、SSH_AGENT_PID 変数を使用して ssh-agent プロセスに信号を送り、このプロセスを停止します。また、ssh-agent の起動時に設定された環境変数の解除も行います。
ssh-agent を使用する場合は、「Master Server で ssh-agent を起動する」の操作説明に従って ssh-agent を起動してください。
設定作業はセッションに依存します。このため、SSH コマンド (ssh、ssh-add、cr_server start) はすべて ssh-agent の起動に使用したセッションで実行する必要があります。このセッションが終了している場合は、稼働している ssh-agent プログラムを停止し、新しい ssh-agent プログラムを起動しなければなりません。また、非公開鍵もアップロードする必要もあります。
SSH の接続経路をテストします。
% ssh target-host-IP set % ssh -A -t target-host-IP ls -l |
-A オプションは、ssh-agent を使用する場合にのみ使用してください。target-host-IP には、このマシンの接続先となるマシンの IP アドレスを指定します。
例として、Master Server (MS)、Local Distributor (LD1、LD2、LD3)、Remote Agent (RA1、RA2、RA3、RA4) から構成された次のようなネットワークを考えてみましょう。
MS | \ | \ | \ LD1 LD2 | \ \ | \ LD3 | \ |\ | | | \ | | | \ | | | \ RA1 RA2 RA3 RA4 |
このネットワーク例では、Master Server 上で次のコマンドを実行し、LD1、LD2、RA1、RA2、RA3、RA4 をネットワーク上の Local Distributor と Remote Agent の IP アドレスに置き換えることにより、SSH 接続経路をテストします。
% ssh -A -t LD1 ssh -t RA1 set % ssh -A -t LD1 ssh -t RA2 set % ssh -A -t LD2 ssh -A -t LD3 ssh -t RA3 set % ssh -A -t LD2 ssh -A -t LD3 ssh -t RA4 set |
これらのコマンドは、SSH を使用してダウンストリームマシンに接続する場合に Master Server が使用する経路をたどります。各コマンドを実行することで、SSH は引数として指定されたマシンとの通信に必要なホスト鍵を交換できます。
SSH は、ホスト鍵の交換を許可するかどうかを尋ねるメッセージを表示します。
各メッセージに「yes」と答えます。
すべてのコマンドの出力を検証し、環境変数が正しく設定されているか確認します。
PATH 変数には、ユーザー環境の一部であるディレクトリ (/bin、/usr/bin など) が設定されていなければなりません。
SSH の接続経路をもう一度テストします。
手順 1 と同じコマンドを使用して接続経路をテストし直し、情報の入力を求めるプロンプトが表示されないことを確認します。
鍵のどれかを変更する場合は、必要に応じてこの作業を再度行なってください。サーバーの設定によっては、マシンのどれかをリブートするたびにこの作業を行わなければならないこともあります。
Master Server で SSH の設定とテストを完了したあと、Master Server が SSH を使用して接続できるように N1 Grid Service Provisioning System 5.0 内のその他のマシンを構成します。
Master Server から Remote Agent の方向へ向かって N1 Grid Service Provisioning System 5.0 ネットワーク内をたどり、中間的な Local Distributor を検出順に構成することにより、SSH 構成を完了しておく必要があります。基本的に、これはツリーネットワークを先行順にトラバースする処理です。
例として、Master Server (MS)、Local Distributor (LD1、LD2、LD3)、Remote Agent (RA1、RA2、RA3、RA4) から構成された次のようなネットワークを考えてみましょう。
MS | \ | \ | \ LD1 LD2 | \ \ | \ LD3 | \ |\ | | | \ | | | \ | | | \ RA1 RA2 RA3 RA4 |
LD1、RA1、RA2、LD2、LD3、RA3、RA4 の順でネットワークを構成します。この順序を厳密に守り、1 つのマシンの構成を完了してから次のマシンに進みます。
Master Server ブラウザインタフェースを使用し、構成するマシンの「Host Details」ページを表示します。
そのマシンにどのアプリケーションを構成するかに応じて、Local Distributor セクションまたは Remote Agent セクションに接続の詳細情報を追加します。
接続タイプを ssh と指定します。
「Advanced Parameters」フィールドに次のテキストを追加します。
cprefix=/N1SPS5.0-Home/application |
N1SPS5.0–Home には、アプリケーションのホームディレクトリを指定します。application には、agent (Remote Agent を構成している場合) または ld (Local Distributor を構成している場合) と指定します。
たとえば、N1 Grid Service Provisioning System 5.0 が /opt/SUNWn1sps/N1_Grid_Service_Provisioning_System_5.0/ にインストールされる場合で、Remote Agent を構成しているときは、「Advanced Parameters」フィールドに次のテキストを追加します。
cprefix=/opt/SUNWn1sps/N1_Grid_Service_Provisioning_System_5.0/agent |
ホストの詳細情報を保存します。
このマシンで Remote Agent インスタンスまたは Local Distributor インスタンスが実行されていないことを確認します。
このアプリケーションインスタンスの「Host Details」ページで「Test Connection」をクリックします。
この作業を、ネットワーク内のマシンごとに繰り返します。
この作業は、CLI Client が ssh-agent を使用して SSH 接続を行うように構成する場合に行なってください。
Master Server と、CLI Client のインストール先であるマシンで、新しい OS ユーザーアカウントを作成します。
このアカウントは、Master Server、Local Distributor、または Remote Agent のインストール時に指定したアカウントとは別のものでなければなりません。
先のステップで作成した新しいユーザーで Master Server にログインします。
「鍵ペアを作成する」の手順に従って、作成した新規ユーザー用の公開鍵と非公開鍵を生成します。
Master Server 、Local Distributor 、Remote Agent 間の通信用として生成した鍵を再利用することはできません。
Master Server で、非公開鍵ファイルを安全なメディアにコピーします。
% cp /User-home/.ssh/id_rsa path-to-file/.ssh/id_rsa |
User-home には、現在ログインしているユーザーの Master Server マシン上のホームディレクトリを指定します。path-to-file/ には、非公開鍵ファイルを保存する安全なメディアのパスを指定します。
ローカルファイルシステムから非公開鍵ファイルを削除します。
% rm /User-home/.ssh/id_rsa |
Master Server で、そのユーザーの /.ssh/authorized_keys2 ファイルの最後に公開鍵を追加します。
% cat /User-home/.ssh/id_rsa.pub >> /HOME-MS/.ssh/authorized_keys2 |
User-home には、Master Server マシン上のホームディレクトリを指定します。
先に作成した新規ユーザーのアカウントで、CLI Client マシンにログインします。
ssh-agent を起動します。
% ssh-agent > /User-home/.ssh/agent_vars |
User-home には、現在ログインしているユーザーの CLI Client マシン上のホームディレクトリを指定します。
.profile、.cshrc、または .bash_profile ファイルに、次の行を追加します。
. /User-home/.ssh/agent_vars |
User-home には、CLI Client マシン上のホームディレクトリを指定します。
Master Server からログアウトし、ログインし直します。
生成した非公開鍵をアップロードします。
% ssh-add path-to-file/ |
path-to-file/ には、非公開鍵ファイルを保存した安全なメディアのパスを指定します。
以上の操作で、CLI Client は Master Server に接続する時の認証に SSH と ssh-agent を使用するようになります。
ローカルホストからの接続だけを受け入れるように、Master Server を構成します。この手順については、「JVM セキュリティポリシーの構成」を参照してください。
ssh-agent を停止する場合は、CLI Client 上で次のコマンドを実行します。
% eval `ssh-agent –k >User-home/.ssh/agent_vars` |
User-home には、現在ログインしているユーザーの CLI Client マシン上のホームディレクトリを指定します。
この作業は、CLI Client が空のパスワードを使用して SSH 接続を行うように構成する場合に行なってください。
Master Server と、CLI Client のインストール先であるマシンで、新しい OS ユーザーアカウントを作成します。
このアカウントは、Master Server、Local Distributor、または Remote Agent のインストール時に指定したアカウントとは別のものでなければなりません。
先のステップで作成した新しいユーザーで、CLI Client マシンにログインします。
「鍵ペアを作成する」の説明に従って、作成した新規ユーザー用の公開鍵と非公開鍵を生成します。
Master Server 、Local Distributor、Remote Agent 間の通信用として生成した鍵を再利用することはできません。
CLI Client 上で、Master Server マシン上にある新しいユーザーの authorized_keys2 ファイルに公開鍵ファイルをコピーします。
% cp User-home-CLI/.ssh/id_rsa.pub User-home-MS/.ssh/id_rsa.pub |
User-home-CLI には、CLI Client マシン上のホームディレクトリを指定します。User-home-MS には、Master Server マシン上のホームディレクトリを指定します。
Master Server で、そのユーザーの /.ssh/authorized_keys2 ファイルの最後に公開鍵を追加します。
% cat /User-home/.ssh/id_rsa.pub >> /User-home/.ssh/authorized_keys2 |
User-home には、現在ログインしているユーザーの Master Server マシン上のホームディレクトリを指定します。
先に作成した新規ユーザーのアカウントで、CLI Client マシンにログインします。
SSH 接続をテストします。
% ssh IP-Address-MS set |
IP-Address-MS には、Master Server マシンの IP アドレスを指定します。
ここで、鍵の交換をするかどうかを尋ねるメッセージが表示されることがあります。
このメッセージが表示された場合は、「yes」と答えます。
PATH 変数が正しく設定されているか確認します。
PATH 変数には、ユーザー環境の一部であるディレクトリ (/bin、/usr/bin など) が設定されていなければなりません。
ローカルホストからの接続だけを受け入れるように、Master Server を構成します。この手順については、「JVM セキュリティポリシーの構成」を参照してください。
「Host Details」ページの「Advanced Parameters」フィールドに、SSH 構成情報をさらに指定できます。次に、上級パラメータとして受け入れられるものを示します。複数のパラメータを使用する場合は、それらをコンマで区切って入力します。「Advanced Parameters」フィールドには、不要なスペースは入れないようにしてください。
cprefix パラメータは、すべての Local Distributor および Remote Agent に必要です。「Advanced Parameters」フィールド内のパラメータの構文は次のとおりです。
cprefix=/N1SPS5.0-Home/application |
N1SPS5.0–Home には、アプリケーションのホームディレクトリを指定します。application には、agent (Remote Agent を構成している場合) または ld (Local Distributor を構成している場合) と指定します。
N1 Grid Service Provisioning System 5.0 が /opt/SUNWn1sps/ にインストールされていて、Remote Agent の構成を行う場合には、「Advanced Parameters」フィールドに次のテキストを追加します。
cprefix=/opt/SUNWn1sps/N1_Grid_Service_Provisioning_System/agent |
ターゲットサーバー上の PATH に SSH 実行可能ファイルのパスをまだ追加しておらず、追加を望まない場合は、このパラメータを使用して SSH 実行可能ファイルのパスを指定できます。「Advanced Parameters」フィールド内のパラメータの構文は次のとおりです。
sshpath=/path-to-SSH |
path-to-SSH には、SSH 実行可能ファイルがインストールされているディレクトリを指定します。
SSH 実行可能ファイルが /usr/local/bin/ssh ディレクトリにインストールされている場合、「Advanced Parameters」フィールドには次のテキストを追加します。
sshpath=/usr/local/bin/ssh |
特定のホストで ssh コマンドを実行するためにこのコマンドにコマンド行引数を追加する場合は、そのホストの「Advanced Parameters」フィールドにそれらの引数を指定できます。「Advanced Parameters」フィールド内のパラメータの構文は次のとおりです。
sshargs=-option|-option |
option には、ssh コマンドに提供するコマンド行オプションを指定します。複数のオプションを追加する場合は、それらを | で区切ってください。
ssh コマンドによって認証エージェントの転送機能を有効にする場合は、「Advanced Parameters」フィールドに -A オプションを指定します。
sshargs=-o|BatchMode yes|-A |
この節では、この章の操作説明で挙げられている OpenSSH 2.0 のコマンドとオプションについて説明します。別バージョンの SSH を使用している場合は、次に示すものと同等のコマンドとオプションをそのバージョンで確認してください。SSH の構成操作を行う際には、それらの同等コマンドを使用してください。
表 6–1 OpenSSH 2.0 コマンド
ツール |
説明 |
---|---|
ssh |
アプリケーションがほかのアプリケーションをリモートマシンから呼び出すことを許可します。SSH 通信を行うように構成されたソフトウェアは、ssh コマンドを使用してリモートアプリケーション (Remote Agent または Local Distributor ) を呼び出し、SSH の標準入出力ストリームを使用してそれらのリモートアプリケーションとの通信を行います。 |
ssh-agent |
パスワード付きの非公開鍵を使用する場合に使用します。アプリケーションの SSH 呼び出しが ssh-agent による通信で認証を行えるように、ssh-agent を使って鍵をアップロードします。 |
ssh-add |
ssh-agent に非公開鍵をアップロードします。 |
ssh-keygen |
SSH 接続を保護するため、公開 / 非公開鍵のペアを生成します。 |
ssh コマンドでは、次のオプションを使用できます。
認証エージェントの転送機能を有効にします。
パスフレーズクエリーを無効にします。
コマンドが発行されている場合も tty を割り当てます。
ssh-keygen コマンドでは、次のオプションを使用できます。
生成する鍵のタイプとして RSA を指定します。
ssh-agent コマンドでは、次のオプションを使用できます。
環境変数 SSH_AGENT_PID 内の pid セットを使用してエージェントを強制終了します。ほかの実装では、異なる環境変数を使用する可能性があります。