“module_stdout“: “sudo: a password is required\r\n“, “msg“: “MODULE FAILURE“, “rc“: 1}
阿新 • • 發佈:2020-12-10
在用普通使用者執行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