【问题标题】:module user doesn't accept encrypt password generated by ansible-vault?模块用户不接受 ansible-vault 生成的加密密码?
【发布时间】:2020-05-07 18:45:20
【问题描述】:

最近我使用 '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"by 用 ansible-vault 给我的 vault 密码替换明文

/vars/main.yml 中的内容

---
# vars file for prerequisite role
pamuser_pass: !vault |
              $ANSIBLE_VAULT;1.1;AES256
              65643265346231613137396339303834396663383466636631646337303235306137386534396266
              3364333534616238396465626436376561323762303139620a376630643131323133336164373237
              64663332363233303032636638306566303034393137636533373332383334333439663930613232
              3737

然后我删除当前的 pamuser 并使用命令重新运行 playbook

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 登录。

有什么我错过的吗?

【问题讨论】:

    标签: ansible ansible-vault


    【解决方案1】:

    您应该遵循提到的推荐方法之一 here 提供哈希。这不是 ansible 中的通用保险库加密。这是特定于用户模块的。以下来自文档:

    如何为用户模块生成加密密码? Ansible ad-hoc 命令是最简单的选择:

        ansible all -i localhost, -m debug -a "msg={{ 'mypassword' | password_hash('sha512',
      'mysecretsalt') }}"
    

    mkpasswd 实用程序可用于大多数 Linux 系统也是一个不错的选择:

    mkpasswd --method=sha-512
    

    【讨论】:

    • 是的!有用。我一开始不看官方文章是不好的。还有一个问题,只有用户模块中的密码需要特殊方式吗?我们可以将 ansible-vault 与其他模块一起使用吗?
    • 是的,ansible vault 可与其他模块一起使用,但请始终参考模块的官方文档以获取更多信息!
    • 如果答案有帮助,请接受它作为答案! @banthita
    猜你喜欢
    • 2016-11-11
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    相关资源
    最近更新 更多