首页 文章

如何在运行Ansible playbook时自动传递Vault密码?

提问于
浏览
2

我有一个带有保险库的Ansible剧本,我想通过我的网络界面中的提示框询问保险箱密码,然后在运行ansible playbook时传递发布的密码 . 我试过用:

echo $password | ansible-playbook test.yml --ask-vault-pass

将密码传递给playbook,但它不起作用,错误信息是:

“msg”:“尝试解密但没有发现保险库机密”

我不想将密码存储在文件中以供一些调用,现在我只想在运行时尝试自动将密码传递给playbook . 对我有什么建议吗? ansible版本是2.4 .

1 回答

  • 4

    您可以使用脚本而不是通过交互式界面提供密码 .

    以下是您的用例示例:

    • 使用以下内容保存 path_to/vault_secret.sh 文件(添加执行权限):
    #!/bin/bash
    echo $password
    
    • 执行:
    ansible-playbook test.yml --vault-password-file path_to/vault_secret.sh
    

    或者:

    • 添加到 ansible.cfg
    [defaults]
    vault_password_file=path_to/vault_secret.sh
    
    • 执行:
    ansible-playbook test.yml
    

相关问题