Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ansible: how to solve "sudo: a password is required" error? [duplicate]

I have 9 servers and i am trying to install a package using ansible, i am able to ssh into 5 of the servers using a password and other 4 does not ask any password while ssh'ng into them.

However i have copied id_rsa.pub key to all the 9 servers.

Now the ansible script is working fine for 5 server but w remaining 4 i am getting the following error message.

fatal: [xxx0?]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Connection to xxx0? closed.\r\n", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE", "rc": 1}

My Ansible.cfg

[defaults]
filter_plugins =./filter_plugins
roles_path = ./roles
sudo_user = root
host_key_checking = False
retry_files_enabled = False
password = ~/password.txt
timeout = 25

[ssh_connection]
ssh_args = -F ~/.ssh/config -o ControlMaster=no -o ControlPersist=30m
control_path = ~/.ssh/ansible-%%r@%%h:%%p

~/.ssh/config

Host xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? .xyz.com
  User yyy
  Port 22

ansible version = ansible 2.3.1.0

How can i solve this error ?

like image 1000
user6826691 Avatar asked Jul 11 '17 20:07

user6826691


2 Answers

You get an error:

sudo: a password is required

It doesn't mean you can't connect to the target machine it means you need to provide a password to run a command with elevated permissions (or that you can't run a command with elevated permissions altogether).

On the contrary, it means the connection is being established with no problems.

Fix your sudoers configuration on the affected machines.

like image 144
techraf Avatar answered Sep 21 '22 19:09

techraf


The main issue is that for ansible task needs the password of 4 servers, so i did export ask sudo password and it worked. It was failing because of the password.

export ANSIBLE_ASK_SUDO_PASS=true
like image 33
user6826691 Avatar answered Sep 22 '22 19:09

user6826691