在用普通用户执行ansible的playbook时候。出现下面的error:
TASK [Gathering Facts] **************************************************************************************************
fatal: [192.168.1.10]: FAILED! => {"changed": false, "module_stderr": "Shared connection to 192.168.1.10 closed.\r\n", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE", "rc": 1}
hosts中只写了:
ansible_ssh_user=a
ansible_ssh_pass=1
#ansible_ssh_private_key_file=/home/a/.ssh/authorized_keys 把这个解开也并咩有生效
解决方法:
添加两行:
ansible_become_method=sudo
ansible_sudo_pass=1(这里有一点不好就是 root用户的密码是明文的)
如果环境可以给这个用户添加sudo并且咩有密码权限的时候,可以简单这样操作:
- 用root用户先给这个普通用户a添加sudo权限(无密码的)
即:visudo
添加下面信息:
之后直接执行:
ssh-keygen
ssh-copy-id 用户@主机ip
如果环境中没有ssh-copy-id的命令情况下:
可以直接到这个路径下 将id_rsa.pub 复制一份 并且改名字为authorized_keys.即:
cp -a id_rsa.pub authorized_keys