2013-05-08 2 views
17

나는 꽤 많은 양의 요리사를 썼지 만 AWS/VPC와 네트워크 트래픽 (특히 요새 호스트)을 관리하는 데 상당히 익숙합니다.칼 ec2 플러그인을 사용하여 VPC 전용 서브넷에 VM을 만듭니다.

칼 ec2 플러그인을 사용하여 개발자 워크 스테이션에서 VM을 동적으로 만들고 부트 스트랩하는 기능이 필요합니다. VM은 내 VPC의 공용 또는 개인 서브넷에 존재할 수 있어야합니다. 나는 탄성 IP를 사용하지 않고이 모든 것을하고 싶다. 내 요새 호스트가 손을 떼고 싶습니다. (즉, 내 요새 호스트에서 VM 당 청취 터널을 명시 적으로 만들 필요가 없습니다.)

VM을 만들 때 ec2 플러그인을 성공적으로 사용했습니다. 레거시 EC2 모델 (예 : 내 VPC 외부). 이제 VPC에서 인스턴스를 만들려고합니다. 나이프 명령 줄에서 게이트웨이, 보안 그룹, 서브넷 등을 지정합니다. VM이 만들어 지지만 이후에 ssh가 실행되지 않습니다. 내 문제는 내 바스 티언 호스트의 구성과 관련이 있다고 의심

knife ec2 server create \ 
    --flavor t1.micro \ 
    --identity-file <ssh_private_key> \ 
    --image ami-3fec7956 \ 
    --security-group-ids sg-9721e1f8 \ 
    --subnet subnet-e4764d88 \ 
    --ssh-user ubuntu \ 
    --server-connect-attribute private_ip_address \ 
    --ssh-port 22 \ 
    --ssh-gateway <gateway_public_dns_hostname (route 53)> \ 
    --tags isVPC=true,os=ubuntu-12.04,subnet_type=public-build-1c \ 
    --node-name <VM_NAME> 

:

여기 내 칼 명령 줄입니다. 인터넷 검색이 끝난 후에는 작동하는 구성을 찾을 수 없었습니다. 요새 호스트에 ssh 할 수 있고 거기에서 새로 만든 VM에 ssh 할 수 있습니다. 게이트웨이 인수를 사용하여 성공적으로 복제하려면 칼을 가져올 수 없습니다.

나는/etc/ssh/ssh_config를 가지고 놀았습니다. 다음은 오늘날 존재하는 방법이다 : 나는 또한 나의 새로운 인스턴스의 일치하는 개인 키에 /home/ubuntu/.ssh/identity를 설정 한

ForwardAgent yes 
#ForwardX11 no 
#ForwardX11Trusted yes 
#RhostsRSAAuthentication no 
#RSAAuthentication yes 
#PasswordAuthentication no 
#HostbasedAuthentication yes 
#GSSAPIAuthentication no 
#GSSAPIDelegateCredentials no 
#GSSAPIKeyExchange no 
#GSSAPITrustDNS no 
#BatchMode no 
    CheckHostIP no 
#AddressFamily any 
#ConnectTimeout 0 
    StrictHostKeyChecking no 
    IdentityFile ~/.ssh/identity 
#IdentityFile ~/.ssh/id_rsa 
#IdentityFile ~/.ssh/id_dsa 
#Port 22 
#Protocol 2,1 
#Cipher 3des 
#Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc 
#MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160 
#EscapeChar ~ 
    Tunnel yes 
#TunnelDevice any:any 
#PermitLocalCommand no 
#VisualHostKey no 
#ProxyCommand ssh -q -W %h:%p gateway.example.com 
    SendEnv LANG LC_* 
    HashKnownHosts yes 
    GSSAPIAuthentication yes 
    GSSAPIDelegateCredentials no 
    GatewayPorts yes 

.

업데이트 : 나는 요새 호스트의 /var/log/auth.log에 다음 사항들이

는 :

May 9 12:15:47 ip-10-0-224-93 sshd[8455]: Invalid user from <WORKSTATION_IP> 
May 9 12:15:47 ip-10-0-224-93 sshd[8455]: input_userauth_request: invalid user [preauth] 

답변

15

마침내이 해결. 내 게이트웨이를 지정할 때 사용자 이름이 누락되었습니다. 원래는 --ssh-user 인수가 게이트웨이와 부트 스트랩을 시도하는 VM 모두에 사용될 것이라고 생각했습니다. 이것은 틀렸고 사용자 이름을 둘 다 지정해야합니다.

knife ec2 server create \ 
    --flavor t1.micro \ 
    --identity-file <ssh_private_key> \ 
    --image ami-3fec7956 \ 
    --security-group-ids sg-9721e1f8 \ 
    --subnet subnet-e4764d88 \ 
    --ssh-user ubuntu \ 
    --server-connect-attribute private_ip_address \ 
    --ssh-port 22 \ 
    --ssh-gateway [email protected]<gateway_public_dns_hostname (route 53)> \ 
    --tags isVPC=true,os=ubuntu-12.04,subnet_type=public-build-1c \ 
    --node-name <VM_NAME> 

그냥 업데이트를 포함하는 라인 (앞의 우분투 @주의) :

--ssh-gateway [email protected]<gateway_public_dns_hostname (route 53)> 

지금 겪었 및 제거하는 등 다시 아래로 내 바스 티언 호스트를 잠근을/홈/우분투/.ssh/identity, 바스 티언 호스트에 개인 키를 저장하는 것은 정말로 나를 괴롭혔다.

FYI : 요새 호스트를 설정할 때 Amazon Linux AMI 이미지를 사용할 때 sshd의 "기본 제공"구성이 작동합니다. 또한 위의 인수 중 일부는 --ssh-port와 같이 선택적입니다.

+0

비슷한 문제가 있습니다. --ssh-gateway를 추가하면 도움이되지만 아직 내 공개 키와 연결하지 못했습니다. 나는 계속'암호 입력 '을 받고 있습니다. 이 작업을 경험했을 때이 작업을 수행 할 때 궁금해 할뿐입니다. – jmreicha

+0

업데이트만으로 해결해야 할 몇 가지 사항이있었습니다. 첫째, 올바른 identitfy 파일을 사용하지 않아서 SSH가 사용자 이름/암호를 기본값으로 사용하고있었습니다. 다른 하나는 기본적으로 (우분투가 아닌) 포워딩을 켜야한다는 것입니다. – jmreicha

관련 문제