2013-03-15 104 views
0

我试图创造和提供一个新的EC2实例刀EC2服务器,而是继续运行到SSL错误:SSLError尝试创建与刀

$bundle exec knife ec2 server create 
ERROR: Excon::Errors::SocketError: hostname "ec2.us-east-1b.amazonaws.com" does not match the server certificate (OpenSSL::SSL::SSLError) 

我从Mac上运行此(10.7)使用红宝石2.0.0p0:

$ruby -v 
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin11.4.2] 

我很确定我正确地编译了ruby openssl支持。从irb运行require 'openssl'返回true。我正在使用通过自制软件安装的OpenSSL 1.0.1e。

我也尝试用红宝石1.9.3-p194跑刀。这有相同的结果,并且有一个稍微有用的错误消息:“错误:Excon :: Errors :: SocketError:主机名与服务器证书(OpenSSL :: SSL :: SSLError)不匹配”。这种差异是这个拉取请求的结果,它改善了错误信息:https://github.com/ruby/ruby/pull/122

从卷曲下面的输出可能是相关的:

$curl -v https://ec2.us-east-1b.amazonaws.com 
* About to connect() to ec2.us-east-1b.amazonaws.com port 443 (#0) 
* Trying 67.215.65.132... connected 
* Connected to ec2.us-east-1b.amazonaws.com (67.215.65.132) port 443 (#0) 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using AES256-SHA 
* Server certificate: 
* subject: serialNumber=UoFmxu6ta5ecJiIs4su2w-q-u8rxJ/d3; OU=GT55236522; OU=See www.rapidssl.com/resources/cps (c)12; OU=Domain Control Validated - RapidSSL(R); CN=*.opendns.com 
* start date: 2012-08-23 10:11:50 GMT 
* expire date: 2014-09-25 12:42:00 GMT 
* subjectAltName does not match ec2.us-east-1b.amazonaws.com 
* Closing connection #0 
* SSLv3, TLS alert, Client hello (1): 
* SSL peer certificate or SSH remote key was not OK 
curl: (51) SSL peer certificate or SSH remote key was not OK 

有没有别的东西,我需要以成功创建与刀EC2实例配置?

回答

3

在我knife.rb配置文件中,我有这行:

knife[:region] = 'us-east-1b' 

这在过去的某个点的工作,但正确的当前设置为:

knife[:region] = 'us-east-1' 

卸下“ b'解决SSL主机名错误:

$curl -v https://ec2.us-east-1.amazonaws.com 
* About to connect() to ec2.us-east-1.amazonaws.com port 443 (#0) 
* Trying 205.251.242.7... connected 
* Connected to ec2.us-east-1.amazonaws.com (205.251.242.7) port 443 (#0) 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using RC4-MD5 
* Server certificate: 
* subject: C=US; ST=Washington; L=Seattle; O=Amazon.com Inc.; CN=ec2.us-east-1.amazonaws.com 
* start date: 2010-10-08 00:00:00 GMT 
* expire date: 2013-10-07 23:59:59 GMT 
* subjectAltName: ec2.us-east-1.amazonaws.com matched 
* issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa (c)09; CN=VeriSign Class 3 Secure Server CA - G2 
* SSL certificate verify ok. 
> GET/HTTP/1.1 
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5 
> Host: ec2.us-east-1.amazonaws.com 
> Accept: */* 
> 
< HTTP/1.1 301 Moved Permanently 
< Location: http://aws.amazon.com/ec2 
< Content-Length: 0 
< Date: Sat, 16 Mar 2013 21:15:51 GMT 
< Server: AmazonEC2 
< 
* Connection #0 to host ec2.us-east-1.amazonaws.com left intact 
* Closing connection #0 
* SSLv3, TLS alert, Client hello (1): 
+0

同样的问题'欧盟西部1b'解决了'欧盟西部1' – Baruch 2013-05-17 15:52:10

1

当您在mac书上安装chef-client时,它会自动安装刀和相关库,您不必手动执行。你不必与束EXEC运行,只需输入刀EC2服务器创建,你会如果你收到此输出,然后你的刀正常工作得到下面的输出

** EC2 COMMANDS ** 
knife ec2 server list (options) 
knife ec2 server delete SERVER [SERVER] (options) 
knife ec2 server create (options) 
knife ec2 instance data (options) 
knife ec2 flavor list (options) 

。并且确保您的knife.rb配置正确,如果您有任何问题请告诉我。

+0

全局安装刀(没有捆绑器)没有改变任何东西。我尝试卸载并重新安装厨师,但没有任何运气。当我运行“knife ec2 server create”而没有“bundle exec”时,我得到相同的SSL错误。 – AndrewF 2013-03-16 21:05:37

+0

Bundler是一只红鲱鱼,但我因为你的回答再次看了knife.rb文件。有一个upvote。 – AndrewF 2013-03-16 21:20:00