필자는 도커 컨테이너 안에 packer를 실행하여 AWS에서 Windows 서버를 프로비저닝합니다. 필자는 패커 빌더에 연결하기 위해 winrm을 사용하고 있지만 패커 빌드에서 실행 가능한 플레이 북 단계를 실행할 때 문제가 발생합니다.SSH 프록시 패커가 실행될 때 동일한 SSH 포트를 사용할 수있는 방법은 무엇입니까?
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: root[0m
<127.0.0.1> SSH: EXEC ssh -C -o ControlMaster=auto
-o ControlPersist=60s
-o StrictHostKeyChecking=no
-o 'IdentityFile="/tmp/ansible-key835953388"'
-o KbdInteractiveAuthentication=no
-o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey
-o PasswordAuthentication=no
-o User=root
-o ConnectTimeout=10
-o ControlPath=/root/.ansible/cp/842df7d42c 127.0.0.1 'PowerShell -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -EncodedCommand <redacted>'
<127.0.0.1> (255, '', 'ssh: connect to host 127.0.0.1 port 22: Connection refused\r\n')
:이 참조 더 아래
packer: 2017/11/09 09:33:37 SSH proxy: serving on 127.0.0.1:45145
조금씩 :
그 포장 후 (로그에서) WinRM을 통해 내 원격 컴퓨터에 명령을 전달 SSH를 프록시를 시작 보인다
:
나는 명백한 문제 페이지의 "SSH 프록시를 : 127.0.0.1에 제공 : 45,145"---> "SSH : 127.0.0.1 포트를 호스트에 연결 "
패커는 매번 '랜덤'포트를 사용하며, 기본 포트를 사용할 수 있습니다.
패커가 퍼머와 동일한 포트를 사용하려면 어떻게해야합니까? 난 그냥 포장에 구성 설정을 제공하는 데 필요한 같은
이유를 설명해 주시겠습니까? –
packer가 출시 한 SSH 프록시에 연결할 수 있어야 할 필요가 있기 때문에 - 현재 다른 포트를 사용하고 있기 때문에 불가능합니다. –
https://www.packer.io/docs/provisioners/ansible.html#winrm-communicator의 지침을 따르고 템플릿에'communicator : winrm'을 지정 했습니까? 'template.json'을 제공하지 않거나 각 세부 사항을 신중하게 설명하지 않으면 문제를 이해하기가 정말로 어렵습니다. –