• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

ssh-copy-id 에러 문의

22.11.05 23:13 작성 조회수 797

0

저도 밑에 있는 분과 같은 증상인데요

ansible-server에서 ssh-copy-id 명령어 입력 후

윈도우 .ssh 폴더에 가서 authorized_key를 열어보면

ECHO가 설정되어 있습니다

라는 글이 한줄 추가 되어있습니다.

같은걸 반복해서 실행 할 경우 동일하게 같은 글이 한줄더 추가가 됩니다

(수동으로 직접 값을 넣어봐도 ping 오류는 납니다)

혹시 관련 사항 해결방법이 있을까요??

답변 3

·

답변을 작성해보세요.

1

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

docker 컨테이너로 기동하고 있는 ansible-server에서 Windows PC(HOST)로 ssh-copy-id 명령어는 정상적인 실행이 안될 수 있습니다. ansible-server에서 Windows PC의 Openssh SERVER에 접속하여 ansible 명령어를 실행하기 위해서는 아래와 같은 방법을 사용해 보시기 바랍니다.

우선 아래 링크를 참고하시어 Windows PC에 Openssh Server를 설치하셨다는 가정아래 설명드립니다. 리눅스 서버는 SSH를 통해서 ansible이 통신하는 반면에 Windows 서버에서는 winrm 이라는 리모트 매니져를 통해서 통신합니다.

  1. ansible-server에서 아래 명령어를 이용하여 pywinrm을 설치하도록 합니다.

    $ yum install python39 -> python이 설치 되어 있지 않았기 때문에 python 설치

    $ pip pywinrm -> pywinrm 설치

  2. ansible-server에서 /etc/ansible/hosts 파일에 (파일이 존재하지 않으면 생성) 아래 내용과 같이 windows 서버의 정보를 입력합니다. (user와 password는 Windows PC 로그인 할 때 사용하는 관리자 계정을 사용하십시오)

    [windows]

    192.168.0.11

    [windows:vars]

    ansible_password='administrator암호'

    ansible_connection=winrm

    ansible_winrm_server_cert_validation=ignore

    ansible_user=관리자계정(ex, administrator)

    ansible_port=5986

     

  3. Windows 서버에서 아래 명령어를 Powershell(관리자 모드)에서 실행합니다.

    $url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"

    $file = "$env:temp\ConfigureRemotingForAnsible.ps1"

    (New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)

    powershell.exe -ExecutionPolicy ByPass -File $file

     ** 위 URL은 https://github.com/AlbanAndrieu/ansible-windows/blob/master/files/ConfigureRemotingForAnsible.ps1 로 변경된 것 같습니다. 수정해서 사용하시기 바랍니다.

다음은 제가 테스트한 ansible-server의 hosts 파일의 내용과, Powershell 명려어 그리고 마지막으로ansible 명령어 입니다.

image

image

image

감사합니다.

0

akfur222님의 프로필

akfur222

2023.08.02

윈도우 사용자분들은 winrm https 사용가능하게 해주셔야 가능하네요..

https://github.com/AlbanAndrieu/ansible-windows/blob/master/files/ConfigureRemotingForAnsible.ps1

0

우주인님의 프로필

우주인

질문자

2022.11.07

빠른 답변 감사드립니다

  1. $ pip pywinrm -> pywinrm 설치 하는 부분은

    • pip3 install --upgrade pip

    • pip install pywinrm 으로 설치를 했습니다

정상적으로 호출 되었습니다

image

감사합니다