Masterサーバ上でidファイル(id_rsa.pem)と認証鍵ファイル(authorized_keys.pub)を以下のコマンドで作成する。
$ cd ~/.ssh $ ssh-keygen -t rsa -b 4096 -f authorized_keys Enter passphrase (empty for no passphrase): Enter same passphrase again: $ mv authorized_keys.pub id_rsa.pem $ chmod 400
認証鍵ファイル(authorized_keys.pub)をログインユーザの.sshフォルダ以下に配置する。展開はファイルをscpなどでコピーするか、authorized_keysの内容をコピー&ペーストするなどの方法が考えられる。
# cd ~ # mkdir .ssh # chmod 700 .ssh # vi .ssh/ authorized_keys # chmod 400 .ssh/ authorized_keys
/etc/ssh/sshd_configを編集して鍵認証を有効化する。今回の検証では、リモートからsshログイン後に、インストールや設定のコマンドを実行するため、リモートからのRootログインも有効にしている。
変更を行うパラメータは以下である。セキュリティを確保するため、パスワード認証を無効化し、鍵認証のみにしているが、鍵認証の設定に失敗するとログイン不能になるリスクがあるため、鍵認証での接続に成功してから、PasswordAuthenticationの設定変更を行うことを推奨する。
パラメータ | 設定値 | 目的 | |
---|---|---|---|
1 | PermitRootLogin | yes | rootログインの有効化 |
2 | RSAAuthentication | yes | 鍵認証のRSA暗号の有効化 |
3 | PubkeyAuthentication | yes | 鍵認証の有効化 |
4 | AuthorizedKeysFile | .ssh/authorized_keys | 鍵認証ファイルの指定 |
5 | PasswordAuthentication | no | パスワード認証を無効化 |
$ sudovi tc/ssh/sshd_config $ systemctl restart sshd
本手順は接続先のrootアカウントに対して、直接sshを実行する手順として記載している。セキュリティ上rootアカウントのリモートログインを行わない場合、いったん、別の一般ユーザアカウントでログインし、サーバ内でsudo または suコマンドでrootに昇格する必要が発生する。その場合の設定手順をこちらのサイトに記載しているので、必要であれば参考としてほしい。
各ツールの評価だが、“maintain”という一般ユーザを作成し、node側のサーバでsudoで昇格してインストールと設定を行っている。もし、rootでログインして行う場合は、“maintain”を設定している個所を“root”に書き換えることで対応できる。
Copyright © ITmedia, Inc. All Rights Reserved.