Specify sudo password for Ansible

ansible

Solution

You can pass variable on the command line via `--extra-vars "name=value"`. Sudo password variable is `ansible_sudo_pass`. So your command would look like:

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

Update 2017: Ansible 2.2.1.0 now uses var `ansible_become_pass`. Either seems to work.

Update 2021: ansible_become_pass is still working, but for now, we should use -e instead of --extra-vars

Problem

How do I specify a sudo password for Ansible in non-interactive way? I'm running Ansible playbook like this: ``` $ ansible-playbook playbook.yml -i inventory.ini \ --user=username --ask-sudo-pass ``` But I want to run it like this: ``` $ ansible-playbook playbook.yml -i inventory.ini \ --user=username` **--sudo-pass=12345** ``` Is there a way? I want to automate my project deployment as much as possible.

Original source