エンジニア男

勉強したことの忘備録としてつらつら書いていきます。

Ansibleの実行ユーザについて

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に空ファイルが作成されたか確かめる。