Ansibleの実行ユーザについてのメモ。
Ansibleをrootユーザで操作するのはセキュリティ的に良くないので、実行ユーザを作成して疎通確認を行う。
ssh公開鍵認証: ssh公開鍵認証について - エンジニア男
今回は以下の構成にする。
HostA(コントロールノード): ansible(実行ユーザ)
HostB(ターゲットノード): workingUser(SSH接続ユーザ)
hostsファイルは記述済みとする。
①実行ユーザを作成する。※HostAで行う。
# グループの作成
groupadd ansible
# ユーザの作成 -gで所属グループを指定
useradd -g ansible ansible
# ssh公開鍵を作成する。冒頭のssh公開鍵認証のページを見る。
②SSH接続ユーザを作成する。※HostBで行う。
# グループの作成
groupadd workingUser
# ユーザの作成 -gで所属グループを指定
useradd -g workingUser workingUser
# 公開鍵の設定を行う。冒頭のssh公開鍵認証のページを見る。
③疎通確認を行う
# 1, HostBへpingを打つ。※ansibleは使わない
ping 172.xx.xx.xx
# 2, HostBへssh接続を行う。※ansibleは使わない
ssh 172.xx.xx.xx
# 3, ansibleを使ってHostBへpingを打つ。
ansible 172.xx.xx.xx -m ping
# 4, ansibleを使ってHostBへSSH接続をする。
ansible-playbook -i hosts playbook-ssh.yml
# 5, ansibleを使ってHostBへSSH接続しsudoできるか確かめる。
ansible-playbook -i hosts playbook-ssh.yml
pingについてはレスポンスで下記のメッセージが表示されたら成功
"ping" : "pong"
playbook-ssh.yml
ssh接続して空ファイルを作成する。
---
- hosts: deco-dev-01
remote_user: workingUser
# become: true 疎通確認の 5, を実行する時にコメントアウトを外す。
tasks:
- name: create file
file: path=/home/workingUser/test123.txt state=touch
④HostBに空ファイルが作成されたか確かめる。