Hitachi

JP1 Version 12 JP1/Integrated Management 2 - Manager 構築ガイド


1.17.3 SSHの設定(Windowsの場合)

ここでは,JP1/IM - ManagerホストがWindows環境である場合の,SSHの設定について説明します。なお,SSHの認証には,公開鍵認証方式を使用します。

SSHで接続するには次の設定が必要となります。

重要

対話環境が前提であるsttyttytsetscriptコマンドなどは,SSH接続ユーザーのログインスクリプトに記載しないでください。記載されている場合は,リモート監視用にSSH接続ユーザーを新たに作成するか,これらのコマンドを実行しないようにSSH接続ユーザーのログインスクリプトを変更してください。

〈この項の構成〉

(1) SSHサーバを設定する

SSHサーバを設定するための手順を次に示します。なお,OSの設定やコマンドは,OSのバージョンによって異なる可能性があります。詳細は,各OSのマニュアルおよびJP1/IM - Managerのリリースノートを参照してください。

  1. リモートの監視対象ホストにroot権限のユーザーでログインする。

  2. sshd_configを開く。

    Linux,Solaris,AIXの場合:/etc/ssh/sshd_config

    HP-UX (IPF)の場合:/opt/ssh/etc/sshd_config

  3. PubkeyAuthenticationの値をyesに設定する※1

  4. 次の項目を設定する※1,※2

    • SolarisでOpenSSHを使用しているまたはSolaris以外の場合

      UseDNSnoに設定してください。

    • Solarisの場合

      LookupClientHostnamesnoに設定してください。

  5. PermitRootLoginyesに設定する※1

    root権限のユーザーでログインして情報収集する場合だけ,この手順を実行してください。

  6. 次のコマンドを実行し,sshdサービスを再起動する。

    実行するコマンドの例を,OSごとに次に示します。

    • Linuxの場合(Linux 6の例)

      /etc/rc.d/init.d/sshd restart

    • Solarisの場合(Solaris 10の例)

      /usr/sbin/svcadm restart ssh

    • AIXの場合(AIX 7.1の例)

      kill -HUP sshdのプロセスID

    • HP-UXの場合(HP-UX 11i V3 (IPF)の例)

      /sbin/init.d/secsh stop; /sbin/init.d/secsh start

注※1

sshd_configの設定項目および設定方法については,使用するSSHサーバのマニュアルを参照してください。

注※2

設定しない場合は,監視対象ホストで次の名前解決ができるように設定してください。

  • マネージャーホストのIPアドレスからマネージャーホスト名を解決できる

  • マネージャーホストのホスト名の解決先IPアドレスが,マネージャーホストのIPアドレスと一致する

名前解決にDNSを使用していてDNSサーバに接続できない場合,リモート監視ログファイルトラップの起動,またはログファイルの収集が遅延することがあります。また,遅延によってタイムアウトしてしまい,起動や収集が失敗することがあります。そのため,UseDNSLookupClientHostnamesnoに設定することを推奨します。

(2) 鍵を作成する(初めて鍵を作成する場合)

UNIX環境の監視対象ホストにリモート監視で使用するユーザーでログインし,ssh-keygenコマンドを実行して鍵を作成します。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。

鍵の種類はRSA暗号とDSA暗号のどちらかを選択できます。

作業を始める前に.sshディレクトリの上位ディレクトリのパーミッションに所有者以外の書き込み権限が設定されていないことを確認してください。所有者以外の書き込み権限が設定されているとSSHの接続に失敗します。

  1. UNIX環境の監視対象ホストにリモート監視で使用するユーザーでログインする。

  2. ssh-keygenコマンドを実行する。

    次のように入力してコマンドを実行してください。

    • RSA鍵を作成する場合:ssh-keygen -t rsa

    • DSA鍵を作成する場合:ssh-keygen -t dsa

  3. 秘密鍵の出力先と名前を決める。

    マルチバイト文字を含まないパスとファイル名を指定してください。デフォルトは「~/.ssh/id_rsa」が設定されます。

  4. リターンキーを2回押す。

    秘密鍵のパスフレーズの入力を求められるため,何も入力しないでリターンキーを押します。再入力を求められるので,何も入力しないで再度リターンキーを押します。

    ssh-keygen -t rsaコマンドの実行例を次に示します。

    [root@HOST]$ ssh-keygen -t rsa

    Generating public/private rsa key pair.

    Enter file in which to save the key (/home/ssh-user/.ssh/id_rsa):

    Enter passphrase (empty for no passphrase):

    Enter same passphrase again:

    Your identification has been saved in /home/ssh-user/.ssh/id_rsa.

    Your public key has been saved in /home/ssh-user/.ssh/id_rsa.pub.

    The key fingerprint is:

    ax:xx:xx:xx:xx:bx:xx:xc:xx:xx:xx:xd:xd:xa:ed:xx root@HOST

  5. catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。

  6. chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。

    catコマンドおよびchmodコマンドの実行例を次に示します。

    [ClientUser@TargetHost .ssh]$ cat id_rsa.pub >> authorized_keys

    [ClientUser@TargetHost .ssh]$ chmod 600 authorized_keys

  7. /etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。

    デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。なお,sshd_configの設定を変更した場合は,スーパーユーザーでsshdサービスを再起動してください。

注意事項
  • 秘密鍵の情報は厳重に管理してください。

  • 鍵(公開鍵と秘密鍵のペア)の作成は環境やツールには依存しないため,どのような環境やツールでも問題ありません。ただし,鍵の作成後は,秘密鍵と公開鍵を適切に配置する必要があります。

(3) 秘密鍵をJP1/IM - Managerホストに配置する(初めて鍵を作成する場合)

JP1/IM - ManagerホストがWindowsの場合は,「1.17.3(2) 鍵を作成する(初めて鍵を作成する場合)」で作成した秘密鍵をWindowsのJP1/IM - Managerホストに配置します。秘密鍵を配置するパスには,マルチバイト文字を含まないようにしてください。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。

(4) 秘密鍵が配置された場所を登録する

次のように秘密鍵がJP1/IM - Managerホストに配置された場所を[システム共通設定]画面で登録してください。

  1. [IM構成管理]画面のメニューバーから[編集]−[システム共通設定]を選択する。

    [システム共通設定]画面が表示されます。

  2. [システム共通設定]画面でSSHの秘密鍵ファイルパスを設定する。

[システム共通設定]画面に表示される項目の詳細については,マニュアル「JP1/Integrated Management 2 - Manager 画面リファレンス」の「5.20 [システム共通設定]画面」を参照してください。

(5) 公開鍵をリモートの監視対象ホストに配置する(すでに鍵を作成している場合)

1.17.3(2) 鍵を作成する(初めて鍵を作成する場合)」で作成した公開鍵をリモートの監視対象ホストに配置します。配置する手順を次に示します。なお,この手順は,すでに別のリモートの監視対象ホストで鍵を作成している場合だけに必要な作業です。

作業を始める前に.sshディレクトリの上位ディレクトリのパーミッションに所有者以外の書き込み権限が設定されていないことを確認してください。所有者以外の書き込み権限が設定されているとSSHの接続に失敗します。

  1. リモートの監視対象ホストにリモート監視で使用するユーザーでログインする。

  2. .sshディレクトリに移動する。

    リモート監視で使用するユーザーのホームディレクトリ配下に.sshディレクトリがない場合は作成してください。ディレクトリの属性は700を設定してください。

  3. scpコマンドを実行し,公開鍵ファイルをリモートの監視対象ホストにコピーする。

    1.17.3(2) 鍵を作成する(初めて鍵を作成する場合)」で作成済みの公開鍵ファイルを監視対象ホストにコピーします。公開鍵のコピー先は,リモート監視で使用するユーザーのホームディレクトリの.sshディレクトリです。

  4. catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。

  5. コピーした公開鍵ファイルを削除する。

  6. chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。

  7. /etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。

    デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。なお,sshd_configの設定を変更した場合は,スーパーユーザーでsshdサービスを再起動してください。

scpコマンド,catコマンド,およびchmodコマンドの実行例を次に示します。ここでは,「1.17.3(2) 鍵を作成する(初めて鍵を作成する場合)」で鍵を作成したホストのホスト名をIMHostとしています。

(6) 監視対象のログファイルへのアクセス権を設定する

監視対象ホストがUNIXの場合は,マネージャーホストから監視対象ホストにSSH接続するユーザーは,次に示すアクセス権が必要です。

(7) 接続を確認する

Windows環境のJP1/IM - ManagerホストにSSHクライアントソフトがインストールされている場合は,配置した秘密鍵を使って,リモートの監視対象ホストにSSH接続ができることを確認してください。また,SSH接続するときに,パスワードおよびパスフレーズの入力が不要であることを確認してください。

エラーが発生した場合や,パスワードおよびパスフレーズの入力を要求された場合は,手順どおり正しく設定できているかどうかを見直してください。また,OSの設定を見直し,SSH接続ができる環境であるか確認してください。

また,リモート監視では,リモートの監視対象ホストで次のコマンドを実行します。リモート監視で使用するユーザーで次のコマンドが実行できることを確認してください。

コマンドを実行できるか確認する際の手順を,次に示します。

(a) ホスト情報を収集する場合に使用するコマンドの確認

  1. [システム共通設定]画面の[SSH]ページで設定したユーザーで監視対象ホストにログインする。

  2. 次のコマンドを実行し,戻り値が0であることを確認する。

    uname -s

(b) ログファイルを収集する場合に使用するコマンドの確認

  1. [システム共通設定]画面の[SSH]ページで設定したユーザーで監視対象ホストにログインする。

  2. 次のコマンドを実行し,戻り値が0であることを確認する。

    • ls -ild 監視対象のログファイルパス

      コマンドの例:

      ls -ild /var/log/messages

      実行結果の例:

      12345 -rw-r--r-- 1 root root 100 4月 12 13:00 2013 messages

    • ls 監視対象のログファイルが存在するディレクトリパス

      コマンドの例:

      ls /var/log

      実行結果の例:

      messages

    • (監視対象ホストのOSがAIXの場合)LC_CTYPE=C wc -l 監視対象のログファイルパス

      コマンドの例:

      LC_CTYPE=C wc -l /var/log/messages

      実行結果の例:

      20 /var/log/messages

    • (監視対象ホストのOSがAIX以外の場合)wc -l 監視対象のログファイルパス

      コマンドの例:

      wc -l /var/log/messages

      実行結果の例:

      20 /var/log/messages

    • (監視対象ホストのOSがSolarisの場合)tail +監視対象のファイルの任意の行番号 監視対象のログファイルパス | tail -収集するサイズの上限値c

      コマンドの例:

      tail +19 /var/log/messages | tail -10241c

      実行結果の例:

      line num = 19

      line num = 20

    • (監視対象ホストのOSがSolaris以外の場合)tail -n +監視対象のファイルの任意の行番号 監視対象のログファイルパス | tail -c 収集するサイズの上限値

      コマンドの例:

      tail -n +19 /var/log/messages | tail -c 10241

      実行結果の例:

      line num = 19

      line num = 20

  3. ログファイルの出力形式がSEQ2の場合,手順2のコマンドに加えて,次のコマンドを実行し,標準出力の結果を確認する。

    • find 監視対象のログファイルが存在するディレクトリパス -xdev -inum 監視対象のログファイルの退避ファイルのinode

      コマンドの例:

      find /var/log/ -xdev -inum 12345

      標準出力の例:

      /var/log/messages.1

      標準出力の結果として,監視対象のログファイルの退避ファイルのパスが出力されることを確認してください。

      標準出力を確認する場合に,標準出力をstdout.txtに出力して標準エラー出力をstderr.txtに出力するときは,次のように実行してください。

      コマンドの例:

      find /var/log/ -xdev -inum 12345 1> stdout.txt 2> stderr.txt

(c) 事前フィルターを適用する場合に使用するコマンドの確認

  1. [システム共通設定]画面の[SSH]ページで設定したユーザーで監視対象ホストにログインする。

  2. 次のコマンドを実行し,戻り値が0であることを確認する。

    • (監視対象ホストのOSがLinuxの場合)/bin/grep -E '事前フィルター'

      コマンドの例:

      tail -n +19 /var/log/messages | /bin/grep -E 'filter' | tail -c 10241

      実行結果の例:

      line num = 19

      line num = 20

    • (監視対象ホストのOSがSolarisの場合)/usr/xpg4/bin/grep -E '事前フィルター'

      コマンドの例:

      tail +19 /var/log/messages | /usr/xpg4/bin/grep -E 'filter' | tail -10241c

      実行結果の例:

      line num = 19

      line num = 20

    • (監視対象ホストのOSがLinux,Solaris以外の場合)/usr/bin/grep -E '事前フィルター'

      コマンドの例:

      tail -n +19 /var/log/messages | /usr/bin/grep -E 'filter' | tail -c 10241

      実行結果の例:

      line num = 19

      line num = 20

    • head -n 監視対象ファイルの任意の行番号

      コマンドの例:

      tail -n +19 /var/log/messages | head -n 20

      実行結果の例:

      line num = 19

      line num = 20