如何在运行Ansible playbook时自动传递vault密码?
我有一个带vault的Ansible playbook,我想通过web界面中的提示框请求vault密码,然后在运行Ansible playbook时传递发布的密码。我尝试使用:如何在运行Ansible playbook时自动传递vault密码?,ansible,ansible-vault,Ansible,Ansible Vault,我有一个带vault的Ansible playbook,我想通过web界面中的提示框请求vault密码,然后在运行Ansible playbook时传递发布的密码。我尝试使用: echo $password | ansible-playbook test.yml --ask-vault-pass 要将密码传递到playbook,但密码无效,错误消息为: “msg”:“正在尝试解密,但未找到vault机密” 出于某些原因,我不想在文件中存储密码,现在我只想尝试在运行playbook时自动将密码传
echo $password | ansible-playbook test.yml --ask-vault-pass
要将密码传递到playbook,但密码无效,错误消息为:
“msg”:“正在尝试解密,但未找到vault机密”
出于某些原因,我不想在文件中存储密码,现在我只想尝试在运行playbook时自动将密码传递给playbook。有什么建议吗?ansible版本是2.4。您可以使用脚本,而不是通过交互界面提供密码 以下是您的用例示例:
#!/bin/bash
echo $password
ansible-playbook test.yml --vault-password-file path_to/vault_secret.sh
ansible-playbook test.yml
或者:
ansible.cfg
:
[defaults]
vault_password_file=path_to/vault_secret.sh
ansible-playbook test.yml --vault-password-file path_to/vault_secret.sh
ansible-playbook test.yml
如果有帮助的话,试试你的运气。以下是我的做法,效果很好。 我的命令行如下所示:
[prompt/]$ansible-playbook -i <inventory>, /mnt/m/NetworkGetters/get_vpn_status.yml --extra-vars varsfilepath=/mnt/m/NetworkVars/host_vars/test-oci-test-vpn-config.yml
---
credentials:
base: &base
host: "{{ansible_host}}"
timeout: 30
transport: cli
svc_rhelsystemrw:
<<: *base
username: svc_rhelsystemrw
password: dWERE#@kds23
您可以将--vault密码文件
与文件描述符一起使用:
ansible-playbook test.yml --vault-password-file <(echo somepassword)
ansible playbook test.yml--vault密码文件谢谢!我试试看!