2013-05-08 16 views
17

かなりの量のシェフが書かれていますが、AWS/VPCとネットワークトラフィック(特に要塞ホスト)を管理するのはかなり新しいです。ナイフec2プラグインを使用してVPCプライベートサブネットにVMを作成

ナイフec2プラグインを使用して、開発者ワークステーションからVMを動的に作成し、ブートストラップする機能が必要です。 VMは、自分のVPCの公開サブネットまたはプライベートサブネットのいずれかに存在する必要があります。私は弾力性のあるIPを使わずにこのすべてをしたいと思っています。私はまた、私の砦のホストを手放すようにしたいと思います(つまり、私の要塞のホストに明示的なVMごとのリスニングトンネルを作成する必要はありません)

私は正常にナイフec2プラグインを使用してVMを作成しました。レガシー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 

UPDATE:

私は要塞ホストの/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> 

更新を含むジャストライン(前のUbuntuの@に注意してください):

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

私は今を経て、バックダウン私の要塞ホストをロックしている、/ホーム/ Ubuntuの/の除去を含むが.ssh/identity、私の要塞のホストに秘密鍵を格納することは本当に私を悩ましていた。

FYI:要塞ホストを設定すると、Amazon Linux AMIイメージを使用しているときにsshdの「すぐに使える」構成が機能します。また、上の議論のいくつかは、--ssh-portのようにオプションです。

+0

私は同様の問題を抱えています。 --ssh-gatewayを追加すると助けになりますが、私の公開鍵との接続にはまだ成功していません。私は ''のパスワードを入力し続けます。あなたがこれを経験したかどうかは、あなたがこれを経験していたときにも同様です。 – jmreicha

+0

ちょうどアップデート、私が修正しなければならなかったいくつかの事がありました。まず、正しいidentitfyファイルを使用していないので、SSHはユーザ名/パスワードをデフォルトにしていました。もう一つは、デフォルトではない転送をオンにする必要があるということです(Ubuntu)。 – jmreicha

関連する問題