작성
·
28
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:ALL
SSH 에이전트 문제: SSH 에이전트가 제대로 작동하지 않거나, SSH 키가 에이전트에 추가되지 않은 상태에서 접근을 시도할 수 있습니다. 이 경우, ssh-add
명령을 사용하여 개인 키를 SSH 에이전트에 추가해야 합니다.
주어진 문제 상황에서 오류 메시지가 ‘Permission denied (publickey,password)‘로 나타나는 것으로 보아, 대상 노드로의 SSH 접속 설정을 다시 확인할 필요가 있습니다. 특히, 사용 중인 키가 대상 노드의 ~/.ssh/authorized_keys
에 올바르게 등록되어 있는지, 또 접속을 시도하는 사용자의 클라이언트 시스템에서 해당 키를 사용하도록 설정했는지 점검해보시기 바랍니다.