使用Knife部署EC2实例时出现某种身份验证问题

时间:2014-01-07 22:45:13

标签: amazon-ec2 chef knife

尝试使用knife命令在EC2中启动服务器实例时,我遇到了某种身份验证问题。

我正在使用如下命令:

knife ec2 server create --availability-zone us-east-1d --node-name ES-test --flavor t1.micro --image ami-fd20ad94 --identity-file something-dev.pem --ssh-user ubuntu  -r 'recipe[something-elasticsearch::default]'

还有2点失败。第一个是相对较早的。

Waiting for instance...........................
Subnet ID: subnet-61dfa849
Private IP Address: 10.0.0.43
done
Bootstrapping Chef on 10.0.0.43
Failed to authenticate ubuntu - trying password auth
Enter your password: 

我应该能够在没有密码的情况下作为Ubuntu进行身份验证。事实上,如果我允许配置继续并尝试使用类似的东西ssh到生成的实例:

ssh -i something-dev.pem ubuntu@10.0.0.43 

......它会奏效。那么为什么刀具命令本身无法进行身份验证呢?

2 个答案:

答案 0 :(得分:0)

我遇到了与上面相同的问题并尝试了上面Rico建议的ssh-add。虽然我仍然收到密码提示,但是输入一个空密码然后允许该过程继续。

如果失败,-V verbose输出选项可能会为您提供更多洞察力。

答案 1 :(得分:0)

我发现这对我有用。

bundle exec knife ec2 server create -r "role[websphere]" -I ami-cb94868e --flavor m1.small -G default --ssh-user ubuntu -N server01 -S whatever --identity-file .chef/whatever.pem

还要考虑从AWS下载.pem时,需要chmod 400 whatever.pem