0

我一直在关注这个 railscast 教程,我很确定我正确地遵循了所有步骤,但是当我去运行 cap Rubber:create_staging 时,我得到了以下错误。

甚至不知道从哪里开始调试。

 The key pair 'gsg-keypair' does not exist (Fog::Compute::AWS::NotFound)
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/excon-0.20.1/lib/excon/connection.rb:332:in `response'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/excon-0.20.1/lib/excon/connection.rb:226:in `request'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/core/connection.rb:21:in `request'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/aws/compute.rb:384:in `_request'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/aws/compute.rb:379:in `request'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/aws/requests/compute/run_instances.rb:119:in `run_instances'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/aws/models/compute/server.rb:173:in `save'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/core/collection.rb:52:in `create'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/rubber-2.2.4/lib/rubber/cloud/fog.rb:27:in `create_instance'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/rubber-2.2.4/lib/rubber/thread_safe_proxy.rb:13:in `method_missing'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/rubber-2.2.4/lib/rubber/recipes/rubber/instances.rb:310:in `create_instance'
    from /Users/anderskitson/.rbenv/versions/1.9.3-p374/lib/ruby/gems/1.9.1/gems/rubber-2.2.4/lib/rubber/recipes/rubber/instances.rb:230:in `block (2 levels) in create_instances' 
4

2 回答 2

0

它说它找不到您的“gsg-keypair”,回到视频的部分,它教您如何从亚马逊保存 gsg-keypair 以及 mkdir 在根目录中保存的位置。

于 2013-05-14T16:05:11.710 回答
0

您需要创建您的虚拟实例。然后下载密钥对(例如 xyz.pem)文件并按照这些命令进行操作。

$ mkdir ~/.ec2
$ mv ~/Downloads/xyz.pem ~/.ec2/xyz
$ chmod 600 ~/.ec2/xyz

制作公钥版本——

$ ssh-keygen -y -f ~/.ec2/xyz > ~/.ec2/xyz.pub

然后转到 config/rubber/rubber.yml 并将您的 key_name 更改为此

key_name: xyz
key_file: "#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*' + cloud_providers.aws.key_name].first}"

希望这可以解决您的问题。

于 2013-06-18T13:30:26.593 回答