RedHat9 | Ansible-vault

环境版本说明

  • RedHat9 [Red Hat Enterprise Linux release 9.0]
  • Ansible [core 2.13.3]
  • Python [3.9.10]
  • jinja [3.1.2]

Ansible-vault介绍

  • Ansible可能需要访问密码或API密钥等敏感数据,以配置受管主机。通常此信息会以纯文本形式存储在清单变量或其它Ansible文件中。这种操作让任何有权访问Ansible文件的用户或存储这些Ansible文件的版本控制系统都能够访问此敏感数据。
  • 使用Ansible提供的Ansible Vault的命令行工具创建、编辑、加密和查看文件
  • Ansible Vault可以加密任何由Ansible使用的数据文件。这可能包括清单变量、playbook中含有的变量文件在执行playbook时作为参数传递的变量文件,或者Ansible角色中定义的变量。

ansible-vault的常用参数

命令解释
create创建新的Vault加密文件
decrypt解密Vault文件
edit编辑Vault文件
view查看Vault文件
encrypt加密YAML文件(对现有文件加密)
encrypt_string字符串加密
rekey给Vault加密文件更改密码

其它选项

选项解释
–vault-id指定其它密码存储文件
–ask-vault-password询问加密密码
–vault-password-file指定密码存储文件路径
-v, --verbose显示调试信息

[Step1]:创建加密文件

ansible-vault create passwd.yml
> redhat
> redhat

# 写入下列内容
password: redhat@123

在这里插入图片描述

[Step2]:查看加密文件

ansible-vault view passwd.yml
> redhat

在这里插入图片描述

[Step3]:编辑加密文件

ansible-vault edit passwd.yml
> redhat

# 写入下列内容
user: student

在这里插入图片描述

[Step4]:加密现有文件

echo password: redhat > pass.yml
ansible-vault encrypt pass.yml
> redhat
> redhat

在这里插入图片描述

[Step6]:解密现有文件

ansible-vault decrypt passwd.yml

在这里插入图片描述

[Step7]:解密现有文件,并解密文件名为pass_new.yml文件

ansible-vault decrypt pass.yml --output=pass_new.yml

在这里插入图片描述

[Step8]:解密现有文件,并解密文件名为pass_new.yml文件

ansible-vault rekey pass.yml
> redhat
> redhat@123

在这里插入图片描述

可以使用另外一个文件来存储密码,这样在读取加密文件时,不需要额外输入密码

  • 在读写加密文件时指定参数--vault-id
  • 在Ansible配置文件中指定vault_password_file=

[Step1]:编写密码存储文件

echo redhat@123 > pass.txt

[Step2]:通过参数传递密码存储文件

ansible-vault view pass.yml --vault-id pass.txt

在这里插入图片描述

[Step3]:通过在配置文件中指定密码存储文件

vim ansible.cfg

# 在[defaults]下增加一行
vault_password_file=/home/student/ansible/pass.txt

在这里插入图片描述

[Step4]:直接读取加密文件

在这里插入图片描述

[Step5]:当配置文件中指定了密码存储文件,对新文件进行加密时,会自动引用密码存储文件内容作为文件密码

ansible-vault encrypt dict.yml

在这里插入图片描述

[Step6]:当配置文件引用的密码存储文件与加密文件密码不一致时,可以指定交互式输入密码,输入新密码

# 先注释掉Ansible配置文件中vault_password_file
# 创建一个新文件,指定加密密码为 redhat123
echo password: redhat123 > redhat.yml
ansible-vault encrypt redhat.yml
> redhat123
> redhat123

# 取消注释Ansible配置文件中vault_password_file
ansible-vault view redhat.yml			# 先测试密码存储文件内容是否可以解密文件
ansible-vault view redhat.yml --ask-vault-password		# 交互式输入新密码

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meaauf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值