🎈

EC2(Ubuntu)へパスワード認証でAnsibleを実行する

2022/06/04に公開

ubuntuがインストールされているEC2に向けてAnsibleをPCから実行する手順です。
実行といってもpingコマンド投げて、無事エラーなくレスポンスが返ってくることを確認するだけです。
※この記事ではAnsibleのインストールは説明していません。

前提

EC2にubuntuを入れた際、デフォルトではubuntuユーザが入っていますがその他にansibleというユーザを作成します。
ansibleユーザはパスワード認証のみでログイン可能、sudo権限ありの設定です。
一般的にはパスワード認証よりも鍵認証が推奨されていますが、今回はパスワード認証を採用しています。

ディレクトリ構成

ディレクトリ構成
.
├── README_prepare.md
├── ansible.cfg
├── inventory
│   └── test_inventory.ini
└── playbook.yml

各ファイル作成

以下の内容がほぼ答えです。

inventory/test_inventory.ini
[webservers]
XXX.XXX.XXX.XX // ec2のパブリックIP

[test_server]
ansible_ssh_user=ubuntu // 作成したユーザを指定
ansible_ssh_pass=password // 作成したユーザのパスワードを指定

playbookを作成します。
内容はpingを投げて、疎通確認をするだけの処理です。

playbook.yml
---
- hosts: webservers
  remote_user: ansible // ユーザを指定します
  become: True // sudoコマンドを許可します
  tasks:
    - name: try ping
      ping:

ansibleの設定を記述します。

ansible.cfg
[defaults]
ask_pass = True
remote_tmp = /tmp/.ansible-$ {USER} / tmp
ansible_sudo_pass=password

ask_pass … ask_passをtrueにするとパスワード認証時にパスワード入力が求められます
remote_tmp … tmpディレクトリを別の場所に作られないように指定
ansible_sudo_pass … sudoパスワードが聞かれた時用

実行

実行してましょう。

% ansible-playbook -i ./inventory/test_inventory.ini playbook.yml

上記でうまくいかなかったら、後ろにオプションをつけた下を叩いてみてください

% ansible-playbook -i ./inventory/test_inventory.ini playbook.yml -kK

-kK

  • k, --ask-pass: 接続時パスワードを入力する(ansibleユーザのパスワード)
  • K, --ask-become-pass: sudoパスワードを入力する

結果

okが出たら成功です。

TASK [Gathering Facts] **********************************************************************************************************************************
ok: [XXX.XXX.XXX.XX]

TASK [try ping] *****************************************************************************************************************************************
ok: [XXX.XXX.XXX.XX]

参考

https://qiita.com/masato930/items/2de6d2b45b83c9bbb56d
https://stackoverflow.com/questions/25582740/missing-sudo-password-in-ansible
https://qiita.com/rysk_lunch/items/bb817964fc3fbe6d177c
https://qiita.com/yokoto/items/338bd80262d9eefb152e
https://qiita.com/reefIrving/items/d66771ae2d3e809ee332
https://www-creators.com/archives/241

Discussion