2.17.1 SSHの設定

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

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

<この項の構成>
(1) SSHサーバを設定する
(2) 鍵を作成する(初めて鍵を作成する場合)
(3) 公開鍵をリモートの監視対象ホストに配置する
(4) 接続を確認する

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

SSHサーバを設定するための手順を次に示します。

  1. リモートの監視対象ホストにroot権限のユーザーでログインする。
  2. sshd_configを開く。
    HP-UX (IPF)の場合:/opt/ssh/etc/sshd_config
    HP-UX (IPF)以外の場合:/etc/ssh/sshd_config
  3. PubkeyAuthenticationの値をyesに設定する※1
  4. 次の項目を設定する※1,※2
    • SolarisでOpenSSHを使用しているまたはSolaris以外の場合
      UseDNSをnoに設定してください。
    • Solarisの場合
      LookupClientHostnamesをnoに設定してください。
  5. PermitRootLoginをyesに設定する※1
    root権限のユーザーでログインして情報収集する場合だけ,この手順を実行してください。
  6. 次のコマンドを実行し,sshdサービスを再起動する。
    実行するコマンドの例を,OSごとに次に示します。
    • Linuxの場合(Linux 5の例)
      /etc/rc.d/init.d/sshd restart
    • Solarisの場合(Solaris 10の例)
      /usr/sbin/svcadm restart ssh
    • AIXの場合(AIX 6.1の例)
      kill -HUP sshdのプロセスID
    • HP-UXの場合(HP-UX 11i V3 (IPF)の例)
      /sbin/init.d/secsh stop; /sbin/init.d/secsh start
    なお,このコマンドは,OSのバージョンによって異なる可能性があります。詳細は,各OSのマニュアルを参照してください。
注※1
sshd_configの設定項目および設定方法については,使用するSSHサーバのマニュアルを参照してください。
注※2
設定しない場合は,監視対象ホストで次の名前解決ができるように設定してください。
  • マネージャーホストのIPアドレスからマネージャーホスト名を解決できる
  • マネージャーホストのホスト名の解決先IPアドレスが,マネージャーホストのIPアドレスと一致する
名前解決にDNSを使用していてDNSサーバに接続できない場合,リモート監視ログファイルトラップの起動,またはログファイルの収集が遅延することがあります。また,遅延によってタイムアウトしてしまい,起動や収集が失敗することがあります。そのため,UseDNSやLookupClientHostnamesをnoに設定することを推奨します。

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

UNIX環境のJP1/IM - Managerホストにroot権限のユーザーでログインし,ssh-keygenコマンドを実行して鍵を作成します。なお,この手順は,初めて鍵を作成する場合だけに必要な作業です。

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

  1. root権限のユーザーでログインする。
  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

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

(3) 公開鍵をリモートの監視対象ホストに配置する

(2) 鍵を作成する(初めて鍵を作成する場合)」で作成した公開鍵をリモートの監視対象ホストに配置します。配置する手順を次に示します。

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

  1. リモートの監視対象ホストにリモート監視で使用するユーザーでログインする。
  2. .sshディレクトリに移動する。
    リモート監視で使用するユーザーのホームディレクトリ配下に.sshディレクトリがない場合は作成してください。ディレクトリの属性は700を設定してください。
  3. scpコマンドを実行し,公開鍵ファイルをリモートの監視対象ホストにコピーする。
    (2) 鍵を作成する(初めて鍵を作成する場合)」で作成済みの公開鍵ファイルを監視対象ホストにコピーします。公開鍵のコピー先は,リモート監視で使用するユーザーのホームディレクトリの.sshディレクトリです。
  4. catコマンドを実行し,公開鍵ファイルの内容を認証鍵ファイルに追加する。
  5. コピーした公開鍵ファイルを削除する。
  6. chmodコマンドを実行し,認証鍵ファイルの属性を600に変更する。
  7. 「/etc/ssh/sshd_config」の「AuthorizedKeysFile」を設定する。
    デフォルトでは「~/.ssh/authorized_keys」または「.ssh/authorized_keys」が設定されています。手順6で作成した認証鍵のパスを変更した場合は,AuthorizedKeysFileの値を見直してください。
  8. sshdサービスを再起動する。

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

[ClientUser@TargetHost ]$ cd .ssh

[ClientUser@TargetHost .ssh]$ scp  root@IMHost:/home/ssh-user/.ssh/id_rsa.pub ./
root@IMHost's password: <パスワードを入力>
id_rsa.pub                                 100%  233     0.2KB/s   00:00
[ClientUser@TargetHost .ssh]$ cat id_rsa.pub >> authorized_keys
[ClientUser@TargetHost .ssh]$ rm id_rsa.pub
[ClientUser@TargetHost .ssh]$ chmod 600 authorized_keys

(4) 接続を確認する

JP1/IM - Managerホストとリモートの監視対象ホストが接続できるかどうかを確認する手順について説明します。

  1. JP1/IM - Managerホストにroot権限のユーザーでログインする。
  2. 作成した秘密鍵を利用し,リモートの監視対象ホストに対してsshコマンドを実行する。

何も入力しないで接続に成功したら,SSHの設定は完了です。

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

接続を確認するときのsshコマンドの実行例を次に示します。

ここでは,JP1/IM - Managerホストのホスト名をIMHostとしています。また,監視対象ホストのホスト名をTargetHost,リモート監視で使用するユーザー名をssh-userとしています。

[root@IMHost]$ /usr/bin/ssh -i /home/ssh-user/.ssh/id_rsa -p 22 ssh-user@TargetHost
The authenticity of host 'TargetHost (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'TargetHost,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
Last login: Mon Mar 23 17:17:52 2011 from xxx.xxx.xxx.xxx
[ssh-user@TargetHost ~]$ exit
logout
Connection to TargetHost closed.
[root@IMHost]$