この章では、Microsoft WindowsホストへのCygwinのインストール方法と、SSHデーモンの起動方法を説明します。この章は、ホスト・ターゲットの追加ウィザードまたはEM CLIを使用して、Microsoft Windowsのホストに管理エージェントをインストールする場合にのみ適用されます。この章の具体的な内容は次のとおりです。
重要: Cygwinをインストールしてホスト・ターゲットの追加ウィザードまたはEM CLIを使用してMicrosoft Windowsホストに管理エージェントをデプロイしない場合、PsExecプロセス・ユーティリティを使用してこれらのホストに管理エージェントをデプロイすることを選択できます。PsExecを使用してMicrosoft Windowsホストに管理エージェントをデプロイする方法の詳細は、付録Fを参照してください。 |
ホスト・ターゲットの追加ウィザードは、Enterprise Manager Cloud Controlコンソールに組み込まれているアプリケーションです。GUIが豊富な、インタラクティブな画面を提供し、管理対象外のホストにOracle Management Agent (管理エージェント)をインストールして、それらを管理対象ホストに変換し、Enterprise Manager Cloud Controlで監視および管理できるようにします。
ホスト・ターゲットの追加ウィザードまたはEM CLIを使用して、Microsoft Windowsが稼働しているホストに管理エージェントをインストールする場合、前提条件として、そのホストにCygwinをインストールし、SSHデーモンを起動する必要があります。これを行うには、第5.3項に示されている手順に従います。
Cygwinは、基本的にMicrosoft WindowsホストにLinuxに類似の環境を提供するユーティリティです。Linux APIレイヤーとして機能し、多くのLinux API機能を提供するDLL(cygwin1.dll
)です。Cygwinをインストールすると、ホストでSSHデーモンを構成できます。ホスト・ターゲットの追加ウィザードはCygwin 1.7で動作保証済で、サポートされています。
SSHデーモンによって、ホスト・ターゲットの追加ウィザードは、OMSホストと、管理エージェントをインストールするホストとのSSH接続を確立できます。この接続により、ウィザードはSSHプロトコル経由で管理エージェントのソフトウェア・バイナリを接続先ホストに転送し、管理エージェントをインストールして構成します。
SSHD設定を開始する前に、ホスト・ターゲットの追加ウィザードの使用時にOpenSSHおよびMKSNTが使用されないかどうかを確認します。これを行うには、次のチェックを実行してください。
OpenSSH\bin
とmksnt
が、PATH
環境変数に含まれていないことを確認してください。含まれている場合は、次のようにしてこれらを削除します。
「マイ コンピュータ」を右クリックし、「プロパティ」を選択します。
「システムのプロパティ」ウィンドウで、「詳細」をクリックします。
このタブで、「環境変数」をクリックします。
ここで、PATH
システム変数を検索して選択します。OpenSSH\bin
およびmksnt
がPATH
に含まれている場合は、「編集」をクリックします。
「システム変数の編集」ダイアログ・ボックスで、これらの2つの値をPATH
から削除し、「OK」をクリックします。
OpenSSH
、MKS
または他のベンダーから実行している場合、SSHデーモンを停止します。SSHデーモンが実行中の場合、次の手順を実行してこれを停止します。
「マイ コンピュータ」を右クリックし、「管理」を選択します。
「コンピュータの管理」ウィンドウの左側のペインで、「サービスとアプリケーション」を展開し、「サービス」を選択します。
右側のペインでSSH Daemon/MKS Secure Shellサービスをクリックし、「停止」ボタンをクリックします。
注意: この項で説明した手順は、Microsoft Windowsオペレーティング・システムによって異なることがあります。 |
Microsoft WindowsホストにCygwinをインストールするには、次の手順を実行します。
次のURLにアクセスして、Install Cygwin:をクリックします。
Cygwinの実行ファイルの32ビット・バージョン(Microsoft Windowsの32ビット・バージョンを実行している場合)または64ビット・バージョン(Microsoft Windowsの64ビット・バージョンを実行している場合)をダウンロードします。
実行ファイルを実行し、「Next」をクリックして続行します。
「Choose Installation Type」画面で、「Install from Internet」を選択して「Next」をクリックします。
「Choose Installation Directory」画面で、ルート・ディレクトリとしてC:\cygwinと入力し、「Next」をクリックします。
注意: 別のディレクトリにCygwinをインストールする場合、Enterprise Managerシステムのインストール後に、$<OMS_HOME>\oui\prov\resources\ssPaths_msplats.properties ファイルに存在するSSH_PATH、SCP_PATH、MKDIR_PATH、SH_PATH、CHMOD_PATH およびTRUE プロパティを必ず適切なCygwinバイナリ値に更新してください。
たとえば、 SCP_PATH=D:\software\cygwin\bin\scp.exe SH_PATH=D:\software\cygwin\bin\sh.exe CHMOD_PATH=D:\software\cygwin\bin\chmod.exe LS_PATH=D:\software\cygwin\bin\ls.exe |
「Select Local Package Directory」画面で、ダウンロードしたインストール・ファイルを格納するローカル・マシン上のディレクトリを選択し、「Next」をクリックします。
「Select Connection Type」画面で、インターネットに接続するための適切な設定を選択し、「Next」をクリックします。
「Choose Download Site(s)」画面で、利用可能リストから任意のサイトを選択し、「Next」をクリックします。
パッケージの選択画面で、次のパッケージを選択し、「次へ」をクリックします。
「Archive」カテゴリから、次のようにunzip
とzip
を選択します。
「Net」カテゴリから、次のようにopenssh
およびopenssl
を選択します。
パッケージを選択して「Next」をクリックすると、「Resolving Dependencies」画面が表示されます。「次へ」をクリックして次に進みます。
「Installation Status and Create」画面では、変更しません。「Finish」をクリックして、インストール・プロセスを終了します。
この項では、ホストへのCygwinのインストール後に、SSHを構成してCygwinの設定をテストする方法について説明します。
SSHを構成してCygwinの設定をテストするには、次の手順を実行します。
Cygwinのインストール後、C:\cygwin
ディレクトリに移動し、任意のエディタを使用して編集モードでCygwin.bat
ファイルを開き、bashシェルを起動する前に次の行を追加します。
set CYGWIN=binmode ntsec
たとえば、前述の行を追加すると、Cygwin.bat
ファイルの内容は次のようになります。
@echo off
C:
chdir C:\cygwin\bin
set CYGWIN=binmode ntsec
bash --login -i
Cygwin (cygrunsrv)
が正しくインストールされたかどうかを確認するには、C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
cygrunsrv -h
Cygwinが正しくインストールされている場合、すべてのCygwinヘルプ・オプションが画面に表示されます。ただし、このコマンドでエラー・メッセージが返される場合、状況に応じてCygwinを再インストールする必要があります。
SSHDサービスを構成するには、C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
ssh-host-config
コマンドを実行後、次のプロンプトが表示されます。
*** Query: Should privilege separation be used? <yes/no>: yes *** Query: New local account 'sshd'? <yes/no>: yes *** Query: Do you want to install sshd as a service? *** Query: <Say "no" if it is already installed as a service> <yes/no>: yes *** Query: Enter the value of CYGWIN for the deamon: [] binmode ntsec *** Query: Do you want to use a different name? (yes/no) yes/no
ここで、同じ名前(cyg_server
)を使用する場合、no
を入力します。その後、次のプロンプトが表示されます。
*** Query: Create new privileged user account 'cyg_server'? (yes/no) yes
*** Query: Please enter the password:
*** Query: Renter:
ただし、異なる名前を使用する場合、yes
を入力します。その後、次のプロンプトが表示されます。
*** Query: Enter the new user name: cyg_server1
*** Query: Reenter: cyg_server1
*** Query: Create new privileged user account 'cyg_server1'? (yes/no) yes
*** Query: Please enter the password:
*** Query: Reenter:
構成が成功すると、次のメッセージが表示されます。
Host configuration finished. Have fun!
c:\cygwin\etc\passwd
ファイルをバックアップし、任意のエディタを使用して編集モードでファイルを開きます。管理エージェントをインストールするホストに接続するために使用するユーザーのエントリのみを削除します。編集する前にc:\cygwin\etc\passwd
ファイルのバックアップを作成するように、ユーザーに依頼します。
管理エージェントをインストールするホストに接続するために使用するユーザーがローカル・ユーザーである場合、C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
/bin/mkpasswd -l –u <USER> >> /etc/passwd (for example, /bin/mkpasswd -l -u pjohn >> /etc/passwd)
管理エージェントをインストールするホストに接続するために使用するユーザーがドメイン・ユーザーである場合、C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
/bin/mkpasswd -d -u <USER> >> /etc/passwd (for example, /bin/mkpasswd -d -u pjohn >> /etc/passwd) mkdir -p /home/<USER> (for example, mkdir -p /home/pjohn) chown <USER> /home/<USER> (for example, chown pjohn /home/pjohn)
(インストールしたCygwinソフトウェアがバージョン1.7.32以上の場合のみ)テキスト・エディタでC:\cygwin\etc\sshd_config
を開き、ファイルの最後に次のように追加します。
KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
(ドメイン・ユーザーのみ)管理エージェントをインストールするホストに接続するために使用するユーザーがドメイン・ユーザーである場合、次の手順を実行して、SSHデーモンを起動します。
「マイ コンピュータ」を右クリックし、「管理」を選択します。
表示された「コンピュータの管理」ダイアログ・ボックスで、「サービスとアプリケーション」に移動し、「CYGWIN sshd」を選択します。
「CYGWIN sshd」を右クリックし、「プロパティ」を選択します。
「プロパティ」ダイアログ・ボックスで、「ログオン」タブに移動します。
ここで、ドメイン/ユーザー名、およびパスワードを指定します。「適用」をクリックします。
C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
chown <USERNAME> /var/log/sshd.log chown -R <USERNAME> /var/empty chown <USERNAME> /etc/ssh* chmod 755 /var/empty chmod 644 /var/log/sshd.log
注意: /var/log/sshd.log が存在しない場合は、次のコマンドを実行する必要はありません。
chown <USERNAME> /var/log/sshd.log chmod 644 /var/log/sshd.log |
次のいずれかの手順を実行し、SSHデーモンを起動します。
C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
/usr/sbin/sshd
または
C:\cygwin\Cygwin.bat
を実行し、次のコマンドを実行します。
cygrunsrv -S sshd
または
次の手順を実行します。
「マイ コンピュータ」を右クリックし、「管理」を選択します。
表示された「コンピュータの管理」ダイアログ・ボックスで、「サービスとアプリケーション」に移動し、「CYGWIN sshd」を選択します。
CYGWIN sshdをクリックし、「開始」ボタンをクリックします。
注意: SSHデーモンが起動しない場合、c:\cygwin\var\log\sshd.log ファイルを参照して、起動に失敗した理由を確認してください。 |
これで、Cygwinの設定をテストできます。
これを行うには、別のマシン(ssh
クライアントが稼働しているマシン)に移動し、次のコマンドを実行します。
ssh -l <USERNAME> <localhost> 'date' OR ssh -l <USERNAME> <this node> 'date'
次に例を示します。
ssh -l pjohn example.com 'date'
このコマンドはパスワードの指定を求めるプロンプトを表示します。正しいパスワードを指定すると、このコマンドにより正確な日付が返されます。
注意: SSHの構成後に、プロセス分岐化の失敗、メモリー・リーク・エラーまたはファイル・アクセス・エラーが発生した場合、次のWebサイトを参照して対処方法を確認してください。問題の対処方法を見つけることができない場合、次のWebサイトを使用してCygwinコミュニティにその問題をレポートしてください。 |
Cygwinのインストール(第5.3項を参照)およびSSHの構成(第5.4項を参照)後に、次の手順を実行します。
OMSホストがMicrosoft Windowsプラットフォーム上で実行している場合は、OMSホストで次の手順を実行します。
「マイ コンピュータ」を右クリックし、「プロパティ」を選択します。ウィンドウが表示されたら、「システムの詳細設定」選択し、「環境変数」を選択します。「システム変数」のセクションでCYGWIN
変数を作成し、その値をnodosfilewarning
として指定します。
注意: この手順の実行後にホストを再起動する必要はありません。 |
Cygwinのインストール・ディレクトリ(Cygwinをデフォルトの場所にインストールする選択をした場合はC:\cygwin
)に移動し、エディタを使用してCygwin.bat
ファイルを編集モードで開き、次の行を編集します。
set CYGWIN=binmode ntsec nodosfilewarning
たとえば、前述の行の編集後、Cygwin.bat
ファイルの内容は次のようになります。
@echo off C: chdir C:\cygwin\bin set CYGWIN=binmode ntsec nodosfilewarning bash --login -i
「スタート」メニューで、「ファイル名を指定して実行」を選択します。「開く」にservices.msc
と入力し、「OK」をクリックします。Cygwin SSHDサービスを検索し、それを停止します。
Cygwinのインストール・ディレクトリ(Cygwinをデフォルトの場所にインストールする選択をした場合はC:\cygwin
)に移動し、Cygwin.bat
を実行します。次のコマンドを実行してSSHDサービスを起動します。
$ /usr/sbin/sshd
注意: このコマンドを実行すると、/var/empty はrootユーザーが所有する必要があることを示すエラーが返される場合があります。このエラーが発生した場合、Cygwin端末から次を実行します。
$ chown <windows_install_user>:<windows_install_group> /var/empty このコマンドの実行後、 |
Microsoft Windowsのホストすべてについての手順1で説明したタスク(ホスト・ターゲットの追加ウィザードまたはEM CLIを使用して管理エージェントをインストールする)を実行します。