我有2个包含私钥的jinja模板:
private.key
(加密)private-copy.key
(需包含private.key内容)
private.key
文件使用 ansible vault 加密,例如
ansible-vault encrypt --vault-password-file ~/.pass.txt private.key
所以它的内容如下所示:
$ANSIBLE_VAULT;1.1;AES256
123456789[...]
我正在尝试获取解密的内容private.key
-----BEGIN RSA PRIVATE KEY-----
ABCDEfgh[...]
-----END RSA PRIVATE KEY-----
里面private-copy.key
(而不是它的加密值)。
我已经尝试过在里面包含 jinja 语句private-copy.key
:
{% include "private.key" %}
但结果给我的是 的加密值private-copy.key
而不是 的解密内容private.key
。
我还知道我可以使用加密变量并将其放入 private-copy.key 中,而不是包含加密文件。为了简单起见,我想直接使用加密文件(在证书更新时,我们得到一个文件,我只是想直接使用它)。
使用文件查找插件:Ansible 允许您使用 lookup('file', ...) 插件读取文件内容。当与用于加密文件的 ansible-vault 结合使用时,如果文件已加密,它会自动解密内容。