带有 Vault 文件的 Ansible 剧本

dda*_*son 1 ansible ansible-vault

根据文档,我正在尝试使用 Vault 文件运行剧本--vault-password-file

这是我的命令:

sudo -u ubuntu -H sh -c "cd ~/overseer; ansible-playbook generate_keys.yml -l mgmt --vault-password-file ~/.vaultpw"
Run Code Online (Sandbox Code Playgroud)

运行时,我得到这个输出:

ERROR: problem running / h o m e / u b u n t u / . v a u l t p w ([Errno 8] Exec format error)
Run Code Online (Sandbox Code Playgroud)

我试过使用/home/ubuntu/.vaultpw无济于事。

同样根据文档,我对要读取的文件具有适当的权限。

我怎样才能解决这个问题?它没有正确读取我的保险库密码文件,它看起来像是将每个字符解释为另一个参数

dda*_*son 8

原来 Ansible 认为.vaultpw是一个脚本,因为它的权限是

-rwx------
Run Code Online (Sandbox Code Playgroud)

我用模式创建了文件 0600

-rw-------
Run Code Online (Sandbox Code Playgroud)

而且效果很好。