对ansible_become_pass使用SHA密码值

时间:2017-02-04 23:14:54

标签: hash passwords ansible

是否可以将ansible_become_pass的SHA值存储在保险库中,而不是纯文本版本?

我的主要用例是我已经拥有设置sudo用户所需的SHA值,我想使用相同的SHA值来设置ansible_become_pass。到目前为止ansible_become_pass似乎只接受纯文本密码。

这样可以避免在保险库中以两种不同的方式指定相同密码。

1 个答案:

答案 0 :(得分:0)

  

是否可以将ansible_become_pass的SHA值存储在Vault中,而不是纯文本版本?

没有!当然你不能。

ansible_become_pass是Ansible提供给目标操作系统的密码,用于对代表其他用户sudo执行的操作进行身份验证。

您无法通过提供密码哈希而不是使用密码登录任何系统。

使用散列(单向函数)的全部意义在于,即使它被泄露,它也不能用于身份验证(密码检索)。

  

[]避免在保险库中以两种不同的方式指定相同密码。

您可以使用password_hash filter获取密码哈希,不需要将哈希值与纯文本密码一起存储。

---
- hosts: localhost
  gather_facts: no
  connection: local
  vars:
    plain_text_password: secret
  tasks:
    - debug:
        msg: "{{ plain_text_password | password_hash }}"
    - debug:
        msg: "{{ plain_text_password | password_hash('sha256') }}"