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

烂漫一生 提交于 2019-12-31 01:41:05

问题


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 ?


回答1:


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.




回答2:


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


来源:https://stackoverflow.com/questions/45044286/ansible-how-to-solve-sudo-a-password-is-required-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!