작성
·
566
0
안녕하세요 강사님 유익한 강의 고맙습니다!
실습 중 Ansible 컨테이너에서 docker 컨테이너로 ssh 접속 중 에러가 발생합니다.
강의 내용대로 ssh-keygen 명령을 입력하고
아래 명령과 같이 docker 컨테이너에(172.17.0.4) ssh 키페어를 복사 후 접속하였습니다.
ssh -i .ssh/id_rsa root@172.17.0.4
공개키가 정상적으로 적용이 되었다면 패스워드를 입력하지 않아도 되는걸로 알고 있었는데 패스워드를 입력해야 합니다.
이후로 ansible의 ping 테스트를 해봤으나 Permission denied 에러가 발생합니다.
[root@2dec73dfb74a ~]# ansible all -m ping
172.17.0.4 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: root@172.17.0.4: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).",
"unreachable": true
}
관련 에러는 어떻게 조치해야 하는지 문의 드립니다.
감사합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
ssh 접속 시 패스워드 입력이 필요하다면, SSH 서버에서 설정된 옵션과 일치하는 인증 정보를 제공하지 못한 것입니다.
패스워드를 입력할 수 있다는 것은 서버에 로그인이 가능한 것이므로, 접근 권한에 대해 걱정할 필요는 없습니다.
Permission denied 에러는 무언가가 잘못되었다는 것을 의미합니다. 해당 에러는 Public Key 인증 방식 이외의 인증 방식이 사용되고 있다는 의미입니다. ssh 명령어를 실행할 때 -i .ssh/id_rsa 옵션을 사용하여 로그인할 사용자와 연결된 private key를 지정했는지 확인해보세요. 그리고 해당 private key의 권한도 확인해보시길 바랍니다.
또한, 앤서블을 사용하여 docker 컨테이너를 관리하기 위해서는, docker 컨테이너 안에 SSH Server를 설치하고, 그 서버를 Ansible inventory에 추가하셔야 합니다. docker 컨테이너 안에 SSH Server가 설치되어 있는지도 확인해보세요.
해결되지 않는다면, 어떤 문제가 있는지 자세히 기재하여 다시 문의해주세요. 감사합니다.