最近我使用“用户”模块创建用户,密码在 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登录。
有什么我错过的吗?