
我的 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:
關鍵字,否則您的其他變數將被忽略。