最近、「user」モジュールを使用して、vars/main.yml で提供されるパスワードでユーザーを作成しました
- name: Create pamuser
user:
name: pamuser
password: "{{ pamuser_pass }}"
groups: wheel
append: yes
tags: pamuser
プレイブックを実行すると、この警告が表示されます
TASK [prerequisite : Create pamuser] *****************************************************************************
[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this
module to work properly.
次に、ansible-vault encrypt_string コマンドを使用"pamuser_pass"
して、プレーンテキストを ansible-vault から提供されたボールト パスワードに置き換えて、特定の変数のみを暗号化します。
/vars/main.yml の内容
---
# vars file for prerequisite role
pamuser_pass: !vault |
$ANSIBLE_VAULT;1.1;AES256
65643265346231613137396339303834396663383466636631646337303235306137386534396266
3364333534616238396465626436376561323762303139620a376630643131323133336164373237
64663332363233303032636638306566303034393137636533373332383334333439663930613232
3737
次に、現在の pamuser を削除し、コマンドでプレイブックを再実行します
ansible-playbook playbook.yaml --tags "pamuser" --ask-pass -K --ask-vault-pass
実行中のプロセスに加えて、それでも警告が表示されます
[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this
module to work properly.
結果は id pamuser で問題ないように見えますが、ssh pamuser@example.com でログインしてから通常のパスワードを入力すると、パスワードが機能しません。その pamuser でログインできません。
見逃したものはありますか?