即使启用了无密码 sudo,Ansible 仍会“缺少 sudo 密码”

即使启用了无密码 sudo,Ansible 仍会“缺少 sudo 密码”

我的 sudoers 文件中有

ALL            ALL = (ALL) NOPASSWD: ALL

这允许任何人使用 sudo 而无需输入密码。并且我确认当我 ssh 进入机器时,我可以不使用密码使用 sudo。

然而,当我尝试在其上运行剧本时,出现错误“缺少 sudo 密码”。

我用来运行的命令是

ansible-playbook -i inventory.yaml common_install.yaml --limit vpn.lan.example.com -vvv

我运行了相同的命令,将其限制到具有相同 sudo 规则的另一台主机,并且都运行 Ubuntu 20.04,并且它在那台主机上运行正常。但在此主机上不起作用。

为什么它不起作用?

答案1

您可能尚未使用用户名和密码值/文件填充 group_vars 或 host_vars 目录。

group_vars 目录的示例:

节点.yml

ansible_port: 22
ansible_user: username
ansible_password: password
ansible_connection: ssh
ansible_become_pass: otherPassword

注意:group_vars/host_vars 目录中的变量包含以下文件仅限变量不要包含vars:关键字,否则其他变量将被忽略。

相关内容