Ansible命令行从保pipe库中检索ssh密码

我试图设置Ansible来pipe理来自不同客户的Linux机器,这里是我们必须要处理的。

  1. 没有酒吧的钥匙authentication – 我想和你一样多,但不会很快发生。
  2. 我们以root身份login,每个客户对所有Linux机器都有不同的root密码。 我们正在推动禁用直接rootlogin,并通过sudo做所有事情,但是再次,这将需要一些时间。

我设法为每个客户创build一个ansible_ssh_useransible_ssh_pass库文件,并遵循好的作品。

 --- - hosts: - SERV01 - SERV02 vars_files: - roles/common/vault/main.yml tasks: - name: enable and start ntpd service: name=ntpd enabled=yes state=running 

现在我想知道如何从命令行使用Vault文件,但以下都不起作用。

 ansible customer1 -m shell -a "var_files:roles/common/vault/main.yml uptime" --ask-vault-pass ansible customer1 -m shell -a "uptime" -e "vars_files:roles/common/vault/main.yml" --ask-vault-pass 

我究竟做错了什么 ?

谢谢

最后,我发现如何做到这一点:

ansible customer1 -e @group_vars/vault/customer1.yml --ask-vault-pass -m shell -a uptime

现在,我可以将ansible_ssh_useransible_ssh_passansible_sudo_pass放在保险库文件中,我只需要记住保pipe库密码。

我希望能让Ansible更加愉快。

谢谢

我不确定Ansible是否可以做到这一点。 如果不行的话,一个办法就是做

 ansible customer1 -e "`ansible-vault view roles/common/vault/main.yml | grep ansible_ssh_pass`" -m shell -a uptime