2013-05-08 15 views
17

Mặc dù tôi đã viết số lượng đầu bếp hợp lý, tôi khá mới đối với cả AWS/VPC và quản trị lưu lượng mạng (đặc biệt là máy chủ lưu trữ).Sử dụng plugin ec2 dao để tạo VM trong mạng con riêng VPC

Sử dụng plugin ec2 của dao, tôi muốn có khả năng tự động tạo và khởi động máy ảo từ máy trạm của nhà phát triển của tôi. VM sẽ có thể tồn tại trong mạng con công cộng hoặc riêng của VPC của tôi. Tôi muốn làm tất cả điều này mà không cần sử dụng một IP đàn hồi. Tôi cũng muốn cho máy chủ pháo đài của tôi được tắt tay (ví dụ tôi muốn tránh phải tạo đường hầm nghe trên mỗi máy ảo rõ ràng trên máy chủ pháo đài của tôi)

Tôi đã sử dụng thành công plugin ec2 dao để tạo máy ảo trong mô hình EC2 kế thừa (ví dụ: bên ngoài VPC của tôi). Bây giờ tôi đang cố gắng tạo một thể hiện trong VPC của tôi. Trên dòng lệnh con dao, tôi đang chỉ định một gateway, các nhóm bảo mật, subnet, vv VM được tạo ra, nhưng con dao không bị ssh với nó sau đó.

Đây là con dao dòng lệnh của tôi:

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> 

Tôi nghi ngờ rằng vấn đề của tôi đã làm với cấu hình của bastion host của tôi. Sau một ngày googling, tôi đã không thể tìm thấy một cấu hình hoạt động. Tôi có thể ssh đến máy chủ bastion, và từ đó tôi có thể ssh đến máy ảo mới được tạo ra. Tôi không thể lấy con dao để sao chép thành công điều này bằng cách sử dụng đối số cổng.

Tôi đã chơi chung với/etc/ssh/ssh_config. Sau đây là cách nó tồn tại ngày hôm nay:

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 

Tôi cũng đã thiết /home/ubuntu/.ssh/identity để khóa riêng phù hợp với các trường hợp mới của tôi.

UPDATE:

tôi nhận thấy như sau trong /var/log/auth.log các bastion host của:

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] 

Trả lời

15

cuối cùng tôi giải quyết này. Tôi đã thiếu tên người dùng khi chỉ định cổng của mình. Ban đầu tôi nghĩ rằng đối số --ssh-user sẽ được sử dụng cho cả gateway và VM tôi đang cố gắng khởi động. Điều này không đúng, tên người dùng phải được chỉ định cho cả hai.

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> 

Chỉ cần dòng có chứa các bản cập nhật (chú ý ubuntu @ ở phía trước):

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

bây giờ tôi đã trải qua và khóa bastion host của tôi trở lại xuống, bao gồm loại bỏ/home/ubuntu/.ssh/identity, khi lưu trữ khóa riêng trên máy chủ bastion thực sự làm tôi thất vọng.

FYI: Khi thiết lập máy chủ lưu trữ cơ sở, cấu hình "ra khỏi hộp" của sshd sẽ hoạt động khi sử dụng hình ảnh AMI Amazon Linux. Ngoài ra, một số đối số ở trên là tùy chọn, chẳng hạn như --ssh-port.

+0

Tôi đang gặp sự cố tương tự. Việc thêm cổng --ssh-gateway sẽ giúp nhưng tôi vẫn chưa kết nối thành công với khóa công khai của mình. Tôi tiếp tục nhận được 'Nhập mật khẩu cho '. Chỉ cần tự hỏi nếu bạn có kinh nghiệm này là tốt khi bạn đã làm việc thông qua điều này. – jmreicha

+0

Chỉ cần cập nhật, có một vài điều tôi phải sửa. Trước tiên, tôi đã không sử dụng đúng tập tin identitfy để SSH được mặc định là tên người dùng/mật khẩu. Một điều nữa là tôi cần bật tính năng chuyển tiếp không phải theo mặc định (Ubuntu). – jmreicha

Các vấn đề liên quan