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

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

其他回答

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。


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

在我的情况下,给它一个静态IP地址,简单地解决了问题:

Config.vm.network "private_network", ip: "192.168.50.50"

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

我分享这些只是为了将来能帮助到其他人。上面的Rubo77给了我这个答案的灵感。

在我的流浪文件中取消注释两行后,我遇到了这个连接超时循环。

vb.gui="true"
config.vm.network "forwarded_port", guest: 80, host: 8080

显然,第一行出现的GUI会询问你是想跳过安装还是让vagrant手动安装。我把它注释回来后就可以登录了,但是我仍然可以看到“连接中断”。在终点站重试。

于是我钻进我的“流浪汉”,敲了字。

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

然后流浪汉重新加载,并没有遇到任何连接错误。然而,这并不接受所有传入的流量。所以你可能想要添加规则,只允许端口8080,如果你要长时间使用你的bos。

Digital Ocean提供了一个很好的教程,教你如何在iptables中添加规则。

记住安装iptables-persistent来保存防火墙配置

我在一台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。