連載
» 2016年06月23日 05時00分 公開

実際に検証済み!OSS徹底比較(3)サーバ構築自動化【前編】:OSSのサーバ構築自動化ツール、4製品徹底検証 2016年版 (2/9)

[森元敏雄,TIS]

パスワードなしの鍵認証のログイン

1.idファイルと認証鍵の作成

 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 

2.認証鍵ファイルをnodeサーバ上に展開

 認証鍵ファイル(authorized_keys.pub)をログインユーザの.sshフォルダ以下に配置する。展開はファイルをscpなどでコピーするか、authorized_keysの内容をコピー&ペーストするなどの方法が考えられる。

# cd ~
# mkdir .ssh
# chmod 700 .ssh
# vi .ssh/ authorized_keys
# chmod 400 .ssh/ authorized_keys

3.nodeサーバのsshの鍵認証を有効化

 /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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。