嗨,我正在尝试使用ec2进行橡胶 gem 测试,但是在快速入门部分遇到了一些问题。由于某种原因,橡胶下的Fog找不到 key 对。这是详细信息:

在irb中(这里的路径是我的rubber.yml key_file属性中的内容-gsg-keypair是我的私钥,没有pem扩展名,并且公钥位于同一目录中):

1.9.3p125 :010 > File.open("#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*'].first}")


=> #<File:/home/charlie/.ec2/gsg-keypair>

但是每次我运行:cap rubber:create_staging接受所有默认值时,我得到的是:
/home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/excon-0.15.4/lib/excon/connection.rb:276:in `request_kernel': The key pair 'gsg-keypair' does not exist (Fog::Compute::AWS::NotFound)
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/excon-0.15.4/lib/excon/connection.rb:105:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/core/connection.rb:20:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/compute.rb:368:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/requests/compute/run_instances.rb:117:in `run_instances'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/models/compute/server.rb:182:in `save'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/core/collection.rb:50:in `create'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/cloud/fog.rb:27:in `create_instance'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/thread_safe_proxy.rb:13:in `method_missing'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:295:in `create_instance'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:215:in `block (2 levels) in create_instances'

知道为什么会这样吗?

谢谢
查理

最佳答案

我刚刚经历了,这是错误的:

在rubber.yml文件中,我有:region: us-east-1
但是,当我在AWS控制台中创建 key 对时,我所在的区域不同。
您必须在rubber.yml文件中指定的同一区域中创建 key 对。

希望这可以帮助!

关于ruby-on-rails - 橡胶2(雾)和 key 对错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11762401/

10-11 07:25