可转移保险库:保护敏感信息


如果你跟随了我previous articles,我们一直在使用纯文本存储ssh密码来访问Windows。这是生活环境中的一大禁忌!

Ansible附带了一个名为“Ansible Vault”的加密功能来解决这一问题。在本实验中,我们将使用它来加密我们的ssh密码。

让我们继续上一篇文章Ansible Galaxy: Ping Windows Servers。我假设你已经成功地pinged通了Windows服务器。我们开始吧。

第一步。编辑清单文件(主机),位于/winservers/hosts和的替换值ansible_ssh_pass{{ win_pass }}  

现在我们已经包含了一个变量,Ansible将尝试在我们的星系“ping”中搜索这个变量。所有这些变量都存储在/winservers/ping/vars/main.yml  

第二步。编辑变量-在终端窗口中,您会发现:

 vi /winservers/ping/vars/main.yml 

将此内容替换为:

 win_pass: P@ssword1234 

您可以在此处替换您的windows server密码。

保存文件。

步骤3:使用保管库加密您的文件-在终端窗口中,键入:

 ansible-vault encrypt main.yml 

它将要求新的保管库密码和确认。

每当您想要使用vault编辑或查看内容时,都会使用该密码。

第四步。使用vi查看保管库文件

vi /winservers/ping/vars/main.yml

这是的加密版本main.yml文件。

第五步。查看保管库加密文件

 ansible-vault view main.yml 

Vault将在加密文件时要求您输入在步骤3中创建的密码。


第六步。编辑保管库加密文件

 ansible-vault edit main.yml 

您可以对文件进行更改并保存,一旦保存文件,就会对文件进行加密。

第七步。使用保管库密码执行行动手册

浏览至 /winservers/和类型:

 ansible-playbook pingservers.yml 

您将得到以下错误:

既然我们使用了保险库,我们就必须使用--ask-vault-pass用我们的剧本命令

 ansible-playbook pingservers.yml --ask-vault-pass 

恭喜!您已成功pinged通了您的Windows服务器,同时实现了Ansible保管库!

感谢阅读!