인프런 커뮤니티 질문&답변
안녕하세요
작성
·
30
0
우아하게 앤서블 책 보고 공부중입니다.
환경은 윈도우 PC 1대에서
WSL, VMware 2개 구성입니다.
앤서블 설치 완료 / --version 확인 완료
/etc/ansible/hosts에노드 호스트 IP입력 완료 / ansible-inventory --list -y 확인완료
ansible all -m ping / success
rsa복사 안하고 ssh해서 비밀번호 입력하고 접속도 되고
rsa복사 하여 비밀번호 없이 자동 인증으로 접속도됩니다.
이제 다음스텝으로 가야하는데 퍼미션이 디나이네요..
노드의 sudo vi /etc/sudoers 에 계정 추가 완료
혹시 몰라서 노드의 루트에 rsa복사도 해봤고 비밀번호도 만들어봤으나 되질 않네요
어떻게 해야하나요?

답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
SSH 접속 시 ‘Permission denied’ 오류는 주로 다음과 같은 이유로 발생할 수 있습니다.
SSH 키 권한 문제: 클라이언트(Ansible을 실행하는 시스템)의
~/.ssh디렉토리와 그 안에 있는 키 파일들(id_rsa,id_rsa.pub등)의 권한이 너무 개방되어 있거나, 잘못 설정되어 있을 수 있습니다. SSH 키 파일의 권한은 보통600(-rw-------)으로, 디렉토리는700(drwx------)으로 설정합니다.SSH 서버 설정: 대상 노드의
/etc/ssh/sshd_config파일에서PasswordAuthentication,PubkeyAuthentication,AuthorizedKeysFile과 같은 옵션이 적절히 설정되어 있는지 확인해야 합니다. 예를 들어, 공개 키 인증을 사용하려면PubkeyAuthentication가yes로 설정되어 있어야 합니다.노드의 sudoers 파일 설정 문제:
sudo명령을 사용할 때 필요한 권한이 제대로 설정되어 있지 않을 수 있습니다.visudo명령을 사용하여/etc/sudoers파일을 안전하게 편집해주세요. 해당 파일에서 사용자나 사용자 그룹에게NOPASSWD옵션을 주어 비밀번호 없이sudo를 사용할 수 있게 설정할 수도 있습니다.
예:username ALL=(ALL) NOPASSWD:ALLSSH 에이전트 문제: SSH 에이전트가 제대로 작동하지 않거나, SSH 키가 에이전트에 추가되지 않은 상태에서 접근을 시도할 수 있습니다. 이 경우,
ssh-add명령을 사용하여 개인 키를 SSH 에이전트에 추가해야 합니다.
주어진 문제 상황에서 오류 메시지가 ‘Permission denied (publickey,password)‘로 나타나는 것으로 보아, 대상 노드로의 SSH 접속 설정을 다시 확인할 필요가 있습니다. 특히, 사용 중인 키가 대상 노드의 ~/.ssh/authorized_keys에 올바르게 등록되어 있는지, 또 접속을 시도하는 사용자의 클라이언트 시스템에서 해당 키를 사용하도록 설정했는지 점검해보시기 바랍니다.




