我的流浪汉昨晚工作得很好。我刚打开电脑,点击《流浪者》,这就是我得到的:

==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...

有人吃过这个吗?vagrant在网络上还没有被广泛报道,我也找不到发生这种情况的原因。


当前回答

我找到的解决方案是检查连接到NAT的适配器1中的电缆连接选项。我真的不知道,这是我的第四个流浪者盒子,但这是唯一一个没有选中电缆连接选项的盒子,检查它后,它工作了。

其他回答

我有一个问题与现有的盒子(不确定什么改变),但我可以通过SSH连接,即使流浪者盒子无法启动。碰巧我的SSH密钥以某种方式改变了。

从vagrant根文件夹中,我运行vagrant ssh-config,它告诉我密钥文件在哪里。我用puttygen打开它,它给了我一把新钥匙。

在我的Linux客户机上,我编辑了~/。Ssh /authorized_keys并将新的公钥放入其中。

现在一切都恢复正常了!

我解决这个问题的方法在这篇文章中没有提到,所以我把细节贴在这里,以防它能帮助到其他人。

造成这种情况的原因是,在机器启动后,流浪汉无法登录机器。造成这种情况的原因有很多,正如本文中提到的,比如机器无法一直启动,或者iptables防火墙阻止SSH。

在我的例子中,问题是我无意中设置了一个“private_network”,它的IP地址与内置的VirtualBox NAT网络(在我的例子中是10.0.2.0/24)在同一个子网中。这打乱了机器的NAT网络(但没有任何地方显示错误),由于vagrant通过NAT网络连接,因此即使机器正在运行且没有启用防火墙,它也无法连接。

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "10.0.2.31"
end

解决办法是更新我的VagrantFile,并使用一个与VirtualBox的NAT网络不冲突的“private_network”IP。

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "10.0.4.31"
end

将ubuntu32位安装到AMD64位上就成功了。我无法访问BIOs,因为它是一个受限制的环境,但我仍然能够让它与ubuntu/trusty32而不是ubuntu/trusty64一起工作

在Windows 7 SP1上使用Vagrant 1.6.3和VirtualBox 4.3.15

希望这能有所帮助。

如果你在Windows 8或Windows 10上工作,这对我来说很管用:

更改BIOS设置以允许64位虚拟化。 以下是如何做到的: 使用高级启动重启PC(进入高级启动-'立即重启'-'故障排除'-'高级选项'-' UEFI固件设置'-'重新启动') 在BIOS窗口内-转到“高级”菜单/选项卡-启用“英特尔虚拟技术” 保存并退出。

对我有帮助的是在BIOS中启用虚拟化,因为机器无法启动。