サーバの管理作業のためによく使われているSSHだが、Nagiosの監視でもSSHを使用する場合がある。
SSHでパスワードなしでログインする方法自体は、他のサイトでも色々書かれているので、ここではNagiosを絡めて書いておこうと思う。
今回はSSHを使用したエージェントレス方式の監視プラグインを自作した場合に、監視対象サーバにSSHでパスワードなしでログインする方法を書こうと思う。
今回はログイン先のサーバに監視用のnagiosユーザを作成してあることとする。
Nagiosプラグインはnagiosユーザで起動されるため、今回はNagiosサーバ上のnagiosユーザで監視対象サーバのnagiosユーザにログインすることになる。
SSHキーペアの作成
RSA方式の公開鍵(id_rsa.pub)と秘密鍵(id_rsa)のペアをNagiosサーバ上で作成する。
通常はコマンドを実行したユーザのホームディレクトリ直下に.sshディレクトリが作成され、そこに公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が作成される。
その際にパスフレーズの入力を求められるが、パスフレーズは入力せずにEnterを入力して進む。
ここでパスフレーズを入力すると、ログインの際に毎回パスフレーズを入力しなければならなくなる。
それでは、パスワードを入力してログインするのと同じになってしまう。
今回はパスワードなしでログインする方法なので、パスフレーズの設定はなしで進む。
|
公開鍵(id_rsa.pub)の設定
公開鍵(id_rsa.pub)はログイン先のサーバに置き、秘密鍵(id_rsa)はログイン元のサーバに置いておく。
今回はログイン先のサーバに監視用のnagiosユーザを作成してある前提のため、ログイン先のサーバのnagiosユーザのホームディレクトリに.sshディレクトリを作成し、authorized_keysファイルに公開鍵(id_rsa.pub)を設定する。
authorized_keysファイルがなければ、新規作成する。
|
SSHサーバの設定
SSHサーバの設定ファイル(/etc/ssh/sshd_config)の設定を行う。
最低限以下の設定がきちんと設定されていればOKだ。
SSHサーバの設定ファイル(/etc/ssh/sshd_config)の設定が完了したら、SSHサーバサービスの再起動(service sshd restart)を忘れてはいけない。
・Protocol 2
SSHにはプロトコルが2種類あり、SSH1(プロトコル1)とSSH2(プロトコル2)がある。
SSH2(プロトコル2)のほうが強度が高いため、ここではSSH2(プロトコル2)を指定する。
・PubkeyAuthentication yes
公開鍵認証の許可を設定する。
デフォルトで上記の設定になっている。
・AuthorizedKeysFile .ssh/authorized_keys
公開鍵の設定ファイルを指定する。
デフォルトで上記の設定になっている。
|
Categories: SSH