16.9 管理密码库文件
自ansible 1.5版本后,vault作为一项新功能,它不仅能对密码、剧本等敏感信息进行加密,而且还可以加密变量名称和变量值,从而确保数据不会被他人轻易阅读。使用ansible-vault命令可以实现内容的新建(create)、加密(encrypt)、解密(decrypt)、修改密码(rekey)及查看(view)等功能。
示例:
第1步:创建出一个名为locker.yml的配置文件,其中保存了两个变量:
vim locker.yml
---
pw_developer: Imadev
pw_manager: Imamgr
第2步:使用ansible-vault命令对文件进行加密。由于需要每次输入密码比较麻烦,因此还应新建一个用于保存密码值的文本文件,以便让ansible-vault命令自动调用。为了保证 数据安全性,在新建密码文件后将该文件的权限设置为600,确保仅管理员可读可写:
vim /root/secret.txt
whenyouwishuponastar
chmod 600 /root/secret.txt
在ansible服务的主配置文件中,在第140行的vault_password_file参数后指定密码值保存的文件路径,准备进行调用:
vim /etc/ansible/ansible.cfg

第3步:在设置好密码文件的路径后,ansible服务便会自动进行加载。用户也就不用在每次加密或解密时都要重复输入密码了。例如,在加密刚刚创建的locker.yml文件时, 只需要使用encrypt参数即可:
ansible-vault encrypt locker.yml
文件使用的是AES 256加密方式进行加密。

加密文件后再cat查看效果
[root@master ansible-playbook]# cat locker.yml
$ANSIBLE_VAULT;1.1;AES256
34313663393435643530313034643566363234623135323161356264616534303130346164366562
6434396536343366343839333439326537663665656436390a636437326531326537393930383436
34326666666635306161616332656534386665613630303438343037343539363031646438666566
3238616565393861310a326561343163313663346463363333316134303065633366396664346638
63623436326138663330396230343831386666353431663063666630336265636237613563333165
3266363166643339396138636266326262656363356332653165
改密操作
如果不想使用原始密码了可以用rekey参数手动对文件进行改密操作,同时应结合--ask-vault-pass参数进行修改·

第4步:查看和修改加密文件中的内容。
对于加密过的文件,需要使用ansible-vault命令的edit参数进行修改,随后用view参数即可查看到修改后的内容。
ansible-vault命令对加密文件的编辑操作默认使用的是vim编辑器,更改完后使用wq保存。
ansible-vault edit locker.yml

如果使用cat则会是乱码

浙公网安备 33010602011771号