2013-05-08 24 views
17

Adil bir miktar şef yazmış olmama rağmen, AWS/VPC'ye ve ağ trafiğini yönetmeye (özellikle bir bastion ana bilgisayarına) oldukça yeniyim.VPC özel alt ağında VM oluşturmak için bıçak ec2 eklentisini kullanma

Bıçak ec2 eklentisini kullanarak, VM'yi geliştirici iş istasyonumdan dinamik olarak oluşturma ve önyükleme yeteneğini istiyorum. VM, VPC'imin genel veya özel bir alt ağında bulunabilmelidir. Tüm bunları elastik bir IP kullanmadan yapmak istiyorum. Ayrıca bastion ana bilgisayarımın da kapalı olmasını isterim (yani bastion ana bilgisayarımda VM başına açık dinleme tünelleri oluşturmaktan kaçınmak istiyorum)

Bir VM oluşturmak için bıçak ec2 eklentisini başarıyla kullandım. Eski EC2 modeli (örn. VPC'm dışında). Şimdi VPC'mde bir örnek oluşturmaya çalışıyorum. Bıçak komut satırında, bir ağ geçidi, güvenlik grupları, alt ağ, vb. Belirtiyorum. Sanal makine oluşturuldu, ancak bıçak daha sonra buna ssh başarısız oluyor. Benim sorun benim kalesi konağın yapılandırma ile ilgisi var şüpheli

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> 

:

İşte benim bıçak komut satırı var. Google'dan bir gün geçtikten sonra işe yarayan bir yapılandırma bulamadım. Ben bastion ana bilgisayarına ssh yapabiliyorum ve oradan yeni oluşturulan VM'ye ssh edebiliyorum. Ağ geçidi argümanını kullanarak bunu başarıyla kopyalamak için bıçak alamıyorum.

/etc/ssh/ssh_config ile oynadım. İşte bugünkü haliyle nasıl: Ben de benim yeni örneğinin eşleşen bir özel anahtara /home/ubuntu/.ssh/identity belirledik

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 

.

GÜNCELLEME: Ben kalesi konağın /var/log/auth.log aşağıdaki fark

:

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] 

cevap

15

Sonunda bu çözüldü. Ağ geçidimi belirtirken kullanıcı adı eksikti. Başlangıçta --ssh kullanıcı argümanının hem ağ geçidi hem de VM önyükleme yapmaya çalıştığım VM için kullanılacağını düşündüm. Bu yanlıştı, kullanıcı adı her ikisi için de belirtilmelidir.

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> 

Sadece güncelleme içeren çizgi (ön ubuntu @ fark):

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

Şimdi geçirdi ve kaldırılması dahil, geri my kalesi host kilitlemiş/home/ubuntu/.ssh/identity, bastion ana bilgisayarında özel anahtarı saklamak gerçekten beni rahatsız ediyordu.

FYI: Bir bastion ana bilgisayarı kurarken, sshd'nin "kutunun dışında" yapılandırması, Amazon Linux AMI görüntüsünü kullanırken çalışır. Ayrıca, yukarıdaki argümanların bazıları --ssh-portu gibi isteğe bağlıdır.

+0

Benzer bir sorunla karşılaşıyorum. --shsh ağ geçidinin eklenmesi yardımcı olur, ancak hala genel anahtarımla bağlantı kurulurken başarı elde edemiyorum. ' 'için parola girin. Sadece bununla uğraşırken bunu da deneyimlediğini merak ediyorum. – jmreicha

+0

Sadece bir güncelleme, düzeltmem gereken birkaç şey vardı. İlk olarak, doğru kimlik dosyasını kullanmıyordum, bu yüzden SSH kullanıcı adı/şifre olarak ayarlandı. Diğer bir şey, varsayılan olarak olmayan (Ubuntu) yönlendirmeyi açmam gerektiğidir. – jmreicha