如何在 Ansible Playbook 中使用“become_pass”

may*_*24x 1 python python-3.x ansible ansible-vault

我尝试编写一个 Ansible yml,它从加密的保险库文件中读取 root 密码,然后将其传递给 become_pass:


    - hosts: sirius
      remote_user: ansusr
      become: yes
      vars_files:
         - vault_vars.yml
      become_pass: "{{ root_pass_sirius }}"
        
Run Code Online (Sandbox Code Playgroud)

但这失败了:错误!'become_pass' 不是 Play 的有效属性

但为什么 ?- 根据 Ansible 文档,这是一个有效的命令。

Kon*_*rov 6

根据 Ansible 文档,这是一个有效的命令。

错误的。become_pass不是Play的有效属性(毕竟它不是命令)。

请参阅行为清单参数列表。有ansible_become_pass变数。

所以你需要设置一个变量:

- hosts: sirius
  remote_user: ansusr
  become: yes
  vars_files:
    - vault_vars.yml
  vars:
    ansible_become_pass: "{{ root_pass_sirius }}"
Run Code Online (Sandbox Code Playgroud)

  • 这也不起作用......错误!“ansible_become_pass”不是 Play 的有效属性 (2认同)