Ansible이 연결할 수 있는 인스턴스를 ping할 수 없는 이유는 무엇입니까?

Ansible이 연결할 수 있는 인스턴스를 ping할 수 없는 이유는 무엇입니까?

AWS EC2 인스턴스에 연결할 수 있습니다.

ssh -i "pizdform.pem" [email protected]

Last login: Tue Feb 21 12:36:50 2023 from ...

Ansible ping을 시도했습니다.

cat test-project/hosts.ini
[web]
52.206.23.6

ansible -i test-project/hosts.ini web -m ping -u ec2-user

핑 실패

52.206.23.6 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).",
    "unreachable": true
}

왜?

답변1

오류 메시지에는 "권한이 거부되었습니다"라고 표시됩니다. 이는 대상에 연결하기 위해 올바른 SSH ID 파일을 사용하고 있지 않음을 나타냅니다(파일은 기본 SSH 명령의 옵션 pizdform.pem에 인수로 전달됩니다 ). PEM 파일을 사용 하는 옵션을 -i사용하면 제대로 연결할 수 있습니다. 메모리에 ID 저장 옵션을 사용하지 않아도 됩니다 .--private-key PRIVATE_KEY_FILEansiblessh-agent--private-keyansible

답변2

나는 ansible을 배우기 시작했고 최근에 이 문제에 직면했습니다. ansible_user=username매니페스트 파일에 호스트 이름을 추가하여 솔루션을 찾았습니다 . 그 후 SUCCESS 출력을 받았습니다. 이것이 도움이 되기를 바랍니다.

관련 정보