인프런 커뮤니티 질문&답변

김 동현님의 프로필 이미지
김 동현

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

Ansible playbook으로 Kubernetes Script 실행하기

Permission denied

작성

·

75

·

수정됨

0

windows에서 테스트 진행 중 입니다.

커뮤니티의 모든 글을 읽고 다 진행해봤습니다.

 

ansible windows -m win_ping -u z2x2c

해당 명령어를 입력하면 성공했다고 나옵니다.
192.168.219.59 | SUCCESS => {

"changed": false,

"ping": "pong"

}

근데

ansible-server의 /root/k8s 해당 경로에서
ansible-playbook -i hosts k8s-cicd-deployment-playbook.yml -u z2x2c

해당 명령어를 입력하면

[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

PLAY [Create pods using deployment] ************************************************************************************

TASK [Gathering Facts] *************************************************************************************************

fatal: [192.168.219.59]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: z2x2c@192.168.219.59: Permission denied (publickey,password,keyboard-interactive).", "unreachable": true}

PLAY RECAP *************************************************************************************************************

192.168.219.59 : ok=0 changed=0 unreachable=1 failed=0 skipped=0 rescued=0 ignored=0

위와 같은 오류가 나옵니다..

왜이러는지 답변 가능할까요? 너무 스트레스 받네요 ㅠㅠ..

 

답변 2

0

김 동현님의 프로필 이미지
김 동현
질문자

강사님의 해결방법을 통해 ping-pong은 되었으나,

local의 authorized_keys 파일에는 ssh key값이 등록되어 있지 않습니다.

 

그래서 ansible-server에서 ssh z2x2c@ip를 입력하였을때 당연히 password를 입력하게 되어있습니다.

 

이건 어떻게 해결하나요?

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

답변이 늦어 죄송합니다. 프로젝트 마무리로 최근 답변을 제대로 드리지 못하고 있네요. ㅡ.ㅡ

해당 부분 최대한 빨리 확인 후 추가 답변드리도록 하겠습니다. 번거롭게 해 드려 죄송합니다.

김 동현님의 프로필 이미지
김 동현
질문자

꼭 좀 부탁드리겠습니다 ㅠㅠ

김 동현님의 프로필 이미지
김 동현
질문자

아직일까요?

김 동현님의 프로필 이미지
김 동현
질문자

아직일까요?

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요 이도원입니다.

답변이 늦어 죄송합니다. 말씀하신 윈도우 환경으로 재현 해 봤을 때 정상작동 되는 것을 확인 했슺니다.

작업(설정)하신 환경과 내용(권한, 키) 등에도 영향이 있다고 생각합니다. 가능하시면 작업하신 ansible의 섷장 파일과 ssh key에 대한 copy등과 같은 명령어 등을 조금 거 공유해 주시면 원린을 찾는데 도움이 될것 같습니다.

일단 제가 확인 한 내용과 다시 검토해 공유하도록 하겠습니다.

추가 답변 드리겠습니다.

김 동현님의 프로필 이미지
김 동현
질문자

재현해봤을때 정상 작동 되는 것을 확인했다는 말씀이

"local의 authorized_keys 파일에는 ssh key값이 등록되어있다"

라는 뜻일까요?

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

위 문제에 대해 해결이 안되셨다면, 아래 게시글에 정리한 내용이 있으니 참고하시기 바랍니다.

올려 주신 오류로만 확인해 보면, ansible 명령어로 ping 모듈 테스트에는 windows ssh 로그인이 성공하였는데, playbook으로 실행하였을 때는 오류가 발생한다는 것 같습니다. 이부분은 우선 authorized_keys에 키를 복사하는 작업외에 ansible의 hosts 파일에서 접속 정보를 작성하셨을 거라 생각하기 때문에, authorized_keys를 복사하지 않더라도, ansible hosts 파일의 내용이 잘 작성되었다면, 실행에는 문제가 없을거로 보여집니다. 다만 사용하시는 계정 정보(z2x2c)가 윈도우로 로그인 가능하며, 관리자 권한으로 되어 있는지도 확인해 보시면 좋을 것 같습니다.

위에 올려드린 게시물을 참고하셔도 해결이 안되시면, 작업하신 스크립트나, ansible hosts 파일의 정보 등을 공유해 주시면 오류를 찾아 보는데 도움이 될 것 같습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김 동현님.

Ansible playbook 실행 중 발생한 SSH 인증 문제에 대해 설명드리겠습니다. 현재 상황은 win_ping 모듈은 정상적으로 작동하고 있지만 SSH를 통한 playbook 실행이 실패하고 있는 것으로 보입니다. 이를 해결하기 위해 몇 가지 확인 사항과 해결책을 제안드립니다.

  1. SSH 키 설정 확인:

    • ssh-copy-id를 사용해서 타깃 윈도우 서버에 SSH 공인 키가 제대로 등록되었는지 확인해 주세요. SSH로 접속할 때 자동으로 패스워드를 입력하지 않아도 되는지 검증이 필요합니다.
    • 윈도우 서버의 authorized_keys 파일에 적절한 경로에 SSH 키가 정상적으로 추가되어 있는지 체크하세요.
  2. SSH 설정 확인:

    • SSH 데몬 설정에서 루트 로그인이 허용되고 있는지 확인해 보세요. 일반적으로 PermitRootLogin 설정이 yes 혹은 prohibit-password 상태여야 합니다.
    • 방화벽이나 네트워크 설정에서 SSH 트래픽(보통 22 포트)이 윈도우 서버로 흐르는 걸 방해하고 있는지 확인하세요.
  3. Ansible 설정 확인:

    • Ansible의 hosts 파일에서 윈도우 서버의 IP 주소 및 연결 설정을 다시 한번 점검해 보세요. ansible_useransible_password가 올바르게 구성되어 있는지 확인하세요.
    • 사용하는 인벤토리 파일 인코딩이 UTF-8인지 확인하셔야 합니다. 가끔 인코딩 문제로 인해 특수문자가 잘못 해석될 수 있습니다.

관련 내용을 다루고 있는 게시물을 안내드리겠습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김 동현님의 프로필 이미지
김 동현

작성한 질문수

질문하기