如何以非交互方式为 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**
有办法吗?我想尽可能地自动化我的项目部署。
您可以通过在命令行上传递变量--extra-vars "name=value"。Sudo 密码变量是ansible_sudo_pass. 所以你的命令看起来像:
--extra-vars "name=value"
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。两者似乎都有效。
ansible_become_pass
2021 年更新 :ansible_become_pass 仍在工作,但现在,我们应该使用 -e 而不是 –extra-vars