小编典典

为 Ansible 指定 sudo 密码

all

如何以非交互方式为 Ansible 指定 sudo 密码?

我正在运行这样的 Ansible 剧本:

$ ansible-playbook playbook.yml -i inventory.ini \
    --user=username --ask-sudo-pass

但我想像这样运行它:

$ ansible-playbook playbook.yml -i inventory.ini \
    --user=username` **--sudo-pass=12345**

有办法吗?我想尽可能地自动化我的项目部署。


阅读 212

收藏
2022-05-17

共1个答案

小编典典

您可以通过在命令行上传递变量--extra-vars "name=value"。Sudo 密码变量是ansible_sudo_pass.
所以你的命令看起来像:

ansible-playbook playbook.yml -i inventory.ini --user=username \
                              --extra-vars "ansible_sudo_pass=yourPassword"

2017 年更新 :Ansible 2.2.1.0 现在使用 var ansible_become_pass。两者似乎都有效。

2021 年更新 :ansible_become_pass 仍在工作,但现在,我们应该使用 -e 而不是 –extra-vars

2022-05-17