是否可以将ansible_become_pass
的SHA值存储在保险库中,而不是纯文本版本?
我的主要用例是我已经拥有设置sudo
用户所需的SHA值,我想使用相同的SHA值来设置ansible_become_pass
。到目前为止ansible_become_pass
似乎只接受纯文本密码。
这样可以避免在保险库中以两种不同的方式指定相同密码。
答案 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') }}"