运行SeverSpec测试时,`initialize':getaddrinfo:发生名称或服务未知(SocketError)错误

时间:2014-12-11 09:46:07

标签: serverspec

我是Serverspec测试工具的新手 运行测试时,我收到以下错误。

[root@ost-svr004 serverspec]# rake spec
/usr/bin/ruby -I/usr/lib/ruby/gems/2.1.0/gems/rspec-support-3.1.2/lib:/usr/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib /usr/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/exe/rspec --pattern spec/www.example.jp/\*_spec.rb
/usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `initialize': getaddrinfo: Name or service not known (SocketError)
        from /usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `open'
        from /usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:70:in `block in initialize'
        from /usr/lib/ruby/2.1.0/timeout.rb:76:in `timeout'
        from /usr/lib/ruby/2.1.0/timeout.rb:127:in `timeout'
        from /usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:67:in `initialize'
        from /usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh.rb:202:in `new'
        from /usr/lib/ruby/gems/2.1.0/gems/net-ssh-2.9.1/lib/net/ssh.rb:202:in `start'
        .....
/usr/bin/ruby -I/usr/lib/ruby/gems/2.1.0/gems/rspec-support-3.1.2/lib:/usr/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/lib /usr/lib/ruby/gems/2.1.0/gems/rspec-core-3.1.7/exe/rspec --pattern spec/www.example.jp/\*_spec.rb failed

在Serverspec安装期间,我按照http://serverspec.org/的说明进行操作。 作为先决条件,我还安装了"开发人员工具",Ruby和RubyGem。

1 个答案:

答案 0 :(得分:0)

实际上,在运行localhost Exec (local)的serverspec测试时,没关系,并且没有问题。但是当为远程主机运行测试时,它会失败并且会出现此问题。

最后,我从这个链接中得到了解决方案。
http://www.firedaemon.com/blog/passwordless-root-ssh-public-key-authentication-on-centos-6
我在客户端计算机上创建了SSH RSA密钥(即你是SSH的一个)并将其复制到远程主机。