使用ansible vault加密

Posted 向阳-Y.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ansible vault加密相关的知识,希望对你有一定的参考价值。

使用ansible vault加密

为什么要加密

在playbook或主机清单中,通常会为了配置方便,可能会把密码或密钥等敏感
数据以明文的方式存储在playbook或inventory文件中,很明显这样是不安
全的,ansible已经考虑到这个情况,可以使用ansible­vault对敏感数据进
行加密。

ansible ­valut

ansible­vault可以用来创建、编辑、加密、解密和查看文件。ansiblevault可以对ansible中的任何文件进行加密,包括playbook文件,
inventory文件,变量文件,tasks文件,roles中的文件。

使用ansible-vault加密文件

ansible-vault encrypt inventory

查看加密后的文件:

当使用ansible valut加密后使用ansible命令会被拒绝,如图:

解决方法:
使用ansible的playbook的命令运行方式下的参数

ansible-playbook --ask-vault-pass init.yml  #执行init.yml脚本,--ask--vault-pass表示请求输入密码

还可以通过指定加密文件

echo redhat >password.txt   #创建一个密码文件
ansible-playbook --vault-password-file=password.txt init.yml #此时不需要设置密码就可以成功执行init.yml

同理可以通过加密密码清单进行加密:(通过文本传参进行加密)

ansible-vault encrypt --vault-password-file=password.txt init.yml

官方推荐使用--vault-id,可同时代替--ask-vault-pass | --vault-password-file两种方式

ansible-playbook encrypt --vault-id password.txt init.yml

以上是关于使用ansible vault加密的主要内容,如果未能解决你的问题,请参考以下文章

ansible 配置 vault 加密

从jenkinsfile启动包含vault文件引用的Ansible playbook

使用ansible vault加密

Ansible 加密模块 Vault

Ansible Vault 加密您的秘密

使用带有Ansible-Vault的加密变量进行网络自动化