Ansibleで管理をされる側のサーバ(以下、管理対象サーバ)の設定方法を説明します。
前提条件
- 各作業項目名の後ろに記載している【<サーバ種別>】は、作業対象のサーバを示します。
- 管理対象サーバは、Ansibleで管理する側のサーバ(以下、構成管理サーバ)とネットワーク上の疎通が取れる構成を想定しています。
- 作業は、root権限を持つユーザで実施します。
- 本手順は、CentOS 7 / 8、RHEL 7 / 8向けに想定しています。
- 以下のバージョンのソフトウェアで検証しています。
# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
# uname -r
4.18.0-80.el8.x86_64
作業手順
Ansible用のOSユーザ作成 【管理対象サーバ】
Ansibleが管理対象サーバにリモートログインするための専用ユーザansbile
をOS上に作成します。
# useradd ansible
# passwd ansible
ユーザー ansible のパスワードを変更。
新しいパスワード: ←ansibleユーザのパスワードを入力
新しいパスワードを再入力してください: ←同様のパスワードを入力
passwd: すべての認証トークンが正しく更新できました。
Ansible用のOSユーザへroot権限追加 【管理対象サーバ】
ansbile
OSユーザが管理対象サーバのシステムを変更できるように、root権限を追加します。
# gpasswd -a ansible wheel
ユーザ ansible をグループ wheel に追加
公開鍵ファイルの登録 【構成管理サーバ】
構成管理サーバで作成したSSHキーペアのうち、公開鍵ファイルを管理対象サーバに登録します。
構成管理サーバ上でansible
OSユーザにログインし、管理対象サーバのIPを指定して公開鍵ファイルを転送します。<管理対象サーバIPアドレス>
には、新たに管理対象に加える管理対象サーバのIPアドレスを指定します。途中、管理対象サーバ側のansible
OSユーザのパスワードを尋ねられるので入力します。
# su - ansible
$ ssh-copy-id -o StrictHostKeyChecking=no -i /home/ansible/.ssh/id_rsa.pub ansible@<管理対象サーバIPアドレス>
(略)
ansible@<管理対象サーバIPアドレス>'s password: ←管理対象サーバのansibleユーザのパスワードを入力
Number of key(s) added: 1
Now try logging into the machine, with: "ssh -o 'StrictHostKeyChecking=no' 'ansible@<管理対象サーバIPアドレス>'"
and check to make sure that only the key(s) you wanted were added.
構成管理サーバのansible
OSユーザから、管理対象サーバの同ユーザへ公開鍵認証を使用してSSHログインできることを確認します。
$ ssh -i /home/ansible/.ssh/id_rsa ansible@<管理対象サーバIPアドレス>