Vagrant卡在连接超时重试中。

427

昨晚我的虚拟机完美运行。我刚刚打开电脑,输入vagrant up,然后就出现了这个:

==> 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 还没有被广泛讨论,我找不到发生这种情况的原因。


可能的情况是由于VirtualBox无法重定向端口,尽管显示'==> default: Forwarding ports... default: 22 => 2222 (adapter 1)'。 您可以在我的问题链接中查看完整描述。 我仍然不知道如何解决重定向失败(您可以查看VirtualBox日志。 - WebComer
我遇到了相同的问题。问题在于虚拟机上没有安装和启用ssh服务器。 - melihovv
我在安装Ubuntu 16.04时遇到了相同的错误,通过升级VirtualBox到5.1.x版本来解决了这个问题 - 参见http://askubuntu.com/a/822974/151137。 - house9
@Kiee 请检查防病毒软件和防火墙,暂时停止两者,然后再进行操作 :) - AmmyTech
49个回答

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

相反地,在我的BIOS中,我必须禁用虚拟化并启用VT-X。尝试在您的BIOS中切换这些设置。 - Onshop

0

就我个人而言,Tunnelblick VPN 软件阻止了连接。现在当我启动新的虚拟机时,我会暂时禁用 Tunnelblick。


0
从VirtualBox界面中,我首先启动了一个“CD”,并禁用了硬盘引导。因此它是从CD iso引导的,显然不是在预期的机器上引导...希望这有所帮助。也希望它能让某人微笑... PEBCAK。

0

当我杀死putty进程时,问题得到了解决。因为我同时运行了git-ssh和putty,它们似乎在争夺ssh访问权限。只需要一个就足够了。


0

我解决这个问题的方法是我的旧笔记本电脑启动时间太长了。我打开Virtual Box,连接到虚拟机并等待屏幕加载。大约需要8分钟。

然后它连接并挂载我的文件夹,然后继续进行。

有时候只要耐心等待就可以了!


0
在你的Homestead.yaml文件中查找这一行:
config.vm.network "forwarded_port", guest: 80, host: 8080

并更改为:

config.vm.network "forwarded_port", guest: 80, host: 8000

然后在Homestead目录中运行:

vagrant destroy
vagrant up

看看它是否有效。


0

我解决这个问题的方法在这个帖子中没有提到,所以我在这里发布详细信息,以防对其他人有所帮助。

造成这个问题的原因是,在虚拟机启动后,Vagrant无法通过SSH连接到虚拟机。这个问题有很多原因,正如在这个帖子中提到的那样,比如虚拟机没有完全启动,或者iptables防火墙阻止了SSH连接。

在我的情况下,问题是我不小心设置了一个与内置的VirtualBox NAT网络(在我的情况下是10.0.2.0/24)相同子网的“private_network”。这破坏了虚拟机的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

-3

这个问题已经困扰我一个多星期了,尝试了所有的解决方案,

1. giving SSH username and password
2. Enabling GUI interface
3. Updated Virtual Box and Vagrant

什么都没用。

最后从this link获得了解决方案

Google公共DNS IP添加到您的Wifi设置

在网络首选项 > Wifi > 高级 > DNS下添加IP地址8.8.8.8

完美解决。也许这可以帮助那些在Mac上遇到问题的人。谢谢Skovmand。


在 Mac 上 -> 网络偏好设置,我已经在我的答案中提到了。 - arthankamal

-4

1
只要提供解决方案,答案总是受欢迎的。但这个答案并没有给出解决初始错误的方法。也许它本应该作为问题的评论呈现? - Cedric

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接