Ansible 사용자 SSH sudo PermitRootLogin이 비활성화되었습니다.

Ansible 사용자 SSH sudo PermitRootLogin이 비활성화되었습니다.

원격 서버에 SSH 매개변수가 없으면 다음과 같이 정상적으로 작동합니다.

PermitRootLogin yes

내 작업 가능한 명령은 다음과 같습니다.

[ansible@myansible ~]$ ansible remoteserveur -a "cat /etc/sudoers"

PermitRootLogin no보안상의 이유로 모든 서버의 SSH 매개변수를 변경하고 싶습니다. 이 작업을 완료하면 더 이상 작동하지 않습니다.

UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).",
    "unreachable": true

내 ansible 사용자를 어떻게 만들 수 있습니까?일반 사용자그리고 아마도 통과루트로 명령 실행 가능.

많은 관심을 가져주셔서 감사합니다.

답변1

Ansible 플레이북에 "become:is" 지시문이 없는 것이 확실합니까? 이 지시어는 Ansible 에이전트에 대한 권한 있는 액세스를 담당합니다.

https://docs.ansible.com/ansible/latest/user_guide/become.html

답변2

Nicola에게 감사드립니다. 내 문제에 대한 훌륭한 해결책을 제공했습니다. 나는 결국 다음을 사용했습니다.

ansible-playbook permitrootlogin.yml -b -K

-b는 "되다"를 의미하고, -K는 "권한 업그레이드 비밀번호 요청"을 의미합니다.

TASK [Disallow root SSH access] ******************************************************************************************************************************************************
ok: [server1]
ok: [server2]

관련 정보