1

在我使用 Fog 引导它之后,我无法立即连接到 EC2 实例。引导后,我等待实例准备好,然后再等待 5 秒。但是我仍然无法通过 ssh 连接。稍后连接可用,但在机器“准备好”后需要一点时间。

instance.wait_for { ready? }
instance.wait_for { !public_ip_address.nil?}
sleep(5)

关于等待机器准备好接受 ssh 连接的方法有什么建议吗?

4

1 回答 1

0

假设您使用的是 EC2,请确保服务器所在的安全组允许端口 22 上的 SSH。如果您不在 EC2 上,则可能是类似的防火墙问题。

编辑:这是我以前使用过的一些代码,从来没有遇到过任何问题,但那是与非 ec2 云提供商有关的。

def wait_for resource, msgOnStart, msgOnReady='Done'
  print msgOnStart
  resource.wait_for do
    print '.'
    if resource.ready?
      print "#{msgOnReady}\n"
      true
    end
  end
end

@server = compute.servers.create(#blahblahblah)
wait_for @server, 'Provisioning server'
于 2013-03-23T01:11:36.457 回答