2017-11-09 21 views
0

필자는 도커 컨테이너 안에 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 포트를 호스트에 연결 "

패커는 매번 '랜덤'포트를 사용하며, 기본 포트를 사용할 수 있습니다.

패커가 퍼머와 동일한 포트를 사용하려면 어떻게해야합니까? 난 그냥 포장에 구성 설정을 제공하는 데 필요한 같은

+0

이유를 설명해 주시겠습니까? –

+0

packer가 출시 한 SSH 프록시에 연결할 수 있어야 할 필요가 있기 때문에 - 현재 다른 포트를 사용하고 있기 때문에 불가능합니다. –

+0

https://www.packer.io/docs/provisioners/ansible.html#winrm-communicator의 지침을 따르고 템플릿에'communicator : winrm'을 지정 했습니까? 'template.json'을 제공하지 않거나 각 세부 사항을 신중하게 설명하지 않으면 문제를 이해하기가 정말로 어렵습니다. –

답변

0

같습니다 :

https://www.packer.io/docs/provisioners/ansible.html#local_port

LOCAL_PORT (문자열) -의 포트는 SSH 연결을 수신하려고 시도 할 수 있습니다. 이 값은 시작점입니다. 프로비저는 local_port에서 시작하여 10 개의 포트 중 첫 번째로 사용 가능한 포트에서 SSH 연결을 수신 대기합니다. 시스템 선택 포트는 local_port가 없거나 비어있을 때 사용됩니다.