
내 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:
. 그렇지 않으면 다른 변수가 무시됩니다.