【问题标题】:Ansible ad-hoc command with ansible vault带有 ansible Vault 的 Ansible ad-hoc 命令
【发布时间】:2020-06-08 09:00:40
【问题描述】:

我想将密码传递给ansible

通行证使用 ansible vault 加密,我将其保存在一个文件中,并且我有可用于解密的 ansible vault pass。

我需要使用解密后的密码作为 ansible_password。

到目前为止,我有:

run.sh: sh脚本运行我需要运行的ad_hoc命令

#!/bin/sh 
ansible all -i 'somehost,' -m win_ping --extra-vars "ansible_port=5986 \
 ansible_connection=winrm ansible_winrm_server_cert_validation=ignore validate_certs=false \
 ansible_user=somedomain\s-someserviceaccount ansible_password=___need_decrypted_password___"`

someenv_vault.yaml 带有保管库加密通行证的文件

$ANSIBLE_VAULT;1.1;AES256
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012345678
9abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01
23456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789a
bcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234567

~/.vault_pass

somevaultpassword

如何在 ansible ad hoc 命令中获取解密的保管库密码?

【问题讨论】:

  • 您尝试过--vault-password-file 选项吗?

标签: ansible ansible-vault


【解决方案1】:

我用下面的方法解决了

run.sh

#!/bin/bash
THEPASS=$(ansible-vault decrypt <<JOYPEFF
\$ANSIBLE_VAULT;1.1;AES256
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012345678
9abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01
23456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789a
bcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234567
JOYPEFF
)
echo "usage ./run.sh <servername(s)> ..."
echo "e.g. ./run.sh server1,server2"
ansible all -i "$1," -m win_ping --extra-vars "ansible_winrm_transport=credssp ansible_port=5986 ansible_connection=winrm ansible_winrm_server_cert_validation=ignore validate_certs=false ansible_user=somedomain\s-someserviceaccount ansible_password=$THEPASS"

【讨论】:

  • 看这个,文件里只有值,没有key。如果文件也包含密钥,那么您可以使用--vault-password-file 选项,并将该文件放入group_vars/all/
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2022-09-25
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多