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

==> 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在网络上还没有被广泛报道,我也找不到发生这种情况的原因。


当前回答

关闭虚拟机内部的iptables防火墙

我是这样解决的:

我在我的Vagrantfile中启用了GUI界面(这是配置文件) 我可以在Gui中使用标准用户名vagrant和密码vagrant登录运行中的虚拟机 我关闭了虚拟机内部运行的iptables防火墙

这解决了我的问题,我发现,防火墙阻止了来自本地网络的所有ip,如192.168.x。X和10.x.x.x

添加/etc/iptables规则。D /199-allow-wan允许wan的所有连接:

ip46tables -A wan-input -j ACCEPT

(ip46tables是一个别名)在我的Vagrant例子Freifunk社区中看到这个提交

其他回答

就像有些人已经指出的那样,如果VirtualBox映像没有正确引导,就会出现错误。对我来说,在《Vagrant》中使用GUI模式并没有太大帮助,因为它只显示一个黑色窗口。在virtualbox GUI中,我检查了虚拟机的设置,发现操作系统设置不正确(Debian 32而不是64位)。

所以我只能建议手动检查虚拟机的VirtualBox设置,让虚拟机启动,而不是首先使用Vagrant。

SSH连接在初始启动时超时可能与多种原因有关,例如:

check whether virtualization is enabled in BIOS (as per comment), system awaits for user interaction (e.g. share partition is not ready), mismatch of your private key (check the config via vagrant ssh-config), the booting process takes much longer time (try increasing config.vm.boot_timeout), it's booting from the wrong drive (e.g. from the installer ISO), VM firewall misconfiguration (e.g. iptables configuration), local firewall rules, port conflict or conflict with a VPN software, sshd misconfiguration.

要调试问题,请运行——debug选项或如下:

VAGRANT_LOG=debug vagrant up

如果没有什么明显的,那么尝试从另一个终端连接到它,通过vagrant ssh或通过:

vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default

如果SSH仍然失败,尝试使用GUI(例如config. exe)运行它。GUI = true)。

如果不是,检查正在运行的进程(例如:vagrant ssh -c ' pstrree -a')或验证您的sshd_config。


如果它是一次性的虚拟机,你总是可以尝试破坏它,并重新启动它。

你也应该考虑升级你的Vagrant和Virtualbox。


有关详细信息,请检查调试和故障排除页面。

我在一台Windows 8.1的机器上遇到了同样的问题。连接超时和启用gui根本没有用,屏幕是黑色的。在我的情况下,修复是禁用“超V”

引用自Vagrant文档https://docs.vagrantup.com/v2/hyperv/index.html

警告:启用Hyper-V将导致VirtualBox、VMware和任何其他虚拟化技术不再工作。请参阅这篇博客文章https://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx,如果有需要其他管理程序的时候,可以简单地创建一个引导条目来启动没有启用Hyper-V的Windows。

我解决的方法是,在Windows上键入两次“cmd”(或“ctrl+C”),然后退出连接失败的屏幕。

然后,我可以通过SSH (vagrant SSH)连接,并自己查看错误。

在我的例子中,这是一个输入错误的路径。

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