首页 > 解决方案 > Ansible SHA1 加密变量

问题描述

如何使用 ansible 对给定的字符串进行编码?

我正在尝试这样做:

echo -n "mypassword" | sha1sum

标签: ansiblesha1password-encryption

解决方案


问:编码给定的字符串。

A:使用哈希过滤器。例如,命令和过滤器

    - shell: echo -n "mypassword" | sha1sum
      register: result
    - debug:
        var: result.stdout
    - set_fact:
        pswd: "{{ 'mypassword' | hash('sha1') }}"
    - debug:
        var: pswd

给出相同的结果

    "result.stdout": "91dfd9ddb4198affc5c194cd8ce6d338fde470e2  -"

    "pswd": "91dfd9ddb4198affc5c194cd8ce6d338fde470e2"

问:将输出字符串插入文件中。

A:例如,使用模板

shell> cat templates/pswd.j2.txt 
pswd: {{ pswd }}
    - template:
        src: pswd.j2.txt
        dest: pswd.txt

shell> cat pswd.txt 
pswd: 91dfd9ddb4198affc5c194cd8ce6d338fde470e2

推荐阅读