Ansible 自动化运维 ansible-vault 加密
playbook 数据加密
我们在编写playbook的时候,通常会有一些敏感的数据,比如用户密码等,不想被别人查看,遇到这样的问题,通过百度我发现ansible官方已经考虑到这些问题,官方推出了 “ansible-vault”命令,对整个文件进行加密,也可以对变量进行加密,我们来操作一下
Playbook文件
接下来对playbook进行数据加密
ansible-vault encrypt 4.yml
[root@controller1 ymalk]# ansible-vault encrypt 4.yml //回车后输入加密密码
New Vault password:
Confirm New Vault password:
Encryption successful
输入两遍密码后,就可以看到 ”Encryption successful“ 表示文件加密成功
再次查看playbook文件,发现内容已经被加密了
ansible-playbook 执行一下文件,报错因为内容已经被加密了 ansible不知道密码是啥
ansible-playbook 4.yml
我们在执行加密文件的时候添加 --ask-vault-pass 命令 输入刚才设置的密码 就可以成功执行 4.yml文件啦
ansible-playbook --ask-vault-pass 4.yml
还原加密文件
解密文件我们使用 ansible-vault下的一个子命令 decrypt 这是用来解密的
ansible-vault decrypt 4.yml
[root@controller1 ymalk]# ansible-vault decrypt 4.yml
Vault password:
Decryption successful
输入密码后回车出现 ”Decryption successful“ 字符表示解密成功
再次查看4.yml文件,发现解密后明文显示