stream浪者卡住连接超时重试
我的stream浪者昨天晚上工作得很好。 我刚打开个人电脑,撞上了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...
有没有人有过这个? networking上还没有广泛stream行stream浪,我找不到这种情况发生的原因。
我解决了这个问题,并会在别人有类似问题的情况下回答。
我所做的是:我启用了Virtual box的GUI,看到它正在等待启动时的input,以select是否要直接启动到Ubuntu或安全模式等。
要打开GUI,你必须把你的stream浪汉configurationVagrantfile
:
config.vm.provider :virtualbox do |vb| vb.gui = true end
当你用上面描述的方式卡住你的stream浪机时,不需要以gui模式启动(并且在没有X服务器的情况下是不可能的)。
当您的VM正在引导时,在一个单独的terminal窗口中,找出正在运行的机器的ID。
vboxmanage list runningvms
这将导致这样的事情:
"projects_1234567890" {5cxxxx-cxxx-4xxx-8xxx-5xxxxxxxxxx}
虚拟机通常只是等着你在引导程序中select一个选项。 您可以使用controlvm
将适当的密钥(在这种情况下, input )发送到vm:
vboxmanage controlvm projects_1234567890 keyboardputscancode 1c
而已。 您的虚拟机将继续启动过程。
有一点要仔细检查,如果您的机器的BIOS中启用了硬件虚拟化。
我的问题是相同的超时string,但我只能在GUI中看到一个黑屏。
我刚刚build立的一台笔记本电脑不断显示出同样的问题。 经过几个小时的search,我终于find了一个提示,看看BIOS是否启用了硬件虚拟化。
这里是我发现的post的内容:
我看到还有一些用户遇到这个问题。 所以,我将尝试总结一下下面列出的SSH超时问题的一些可能的解决scheme:
- 确保您的防火墙或防病毒程序不会阻止该程序(我怀疑会经常发生)
- 给你的stream浪者一些时间超时发生。 如果你没有一个非常快的PC / Mac,虚拟机将需要一段时间启动到一个SSH就绪状态,所以超时会发生。
- 因此,在结论是有故障之前,首先要尽量让stream浪汉超时。
- 如果stream浪者完全超时,将stream浪文件中的超时限制提高到几分钟,然后重试。
- 如果仍然不起作用,那么请尝试通过VirtualBox界面清理启动你的stream浪机,并预先启用机器的GUI。 如果GUI在启动时没有显示任何事情(即只是黑屏,没有文字),那么你的stream浪者机器已经出现问题。
- 通过VB界面销毁整台机器并重新安装。
- 删除用户文件夹中的Vagrant Images文件夹中的ubuntu镜像文件并重新下载并安装。
- 你甚至有一个支持64位硬件虚拟化的英特尔处理器? 去谷歌上查询。 如果这样做,请确保Bios中没有禁用此function的设置。
- 如果您正在运行Windows 7或8,请禁用超vfunction。Google如何禁用。
- 确保您正在运行SSH客户端。 使用Git bash。 下载: http : //git-scm.com/downloads
- 安装一个32位版本的Ubuntu,比如trusty32或者precise32。 只需更改vagrant文件中的版本,然后在新目录中重新安装vagrant。
- 确保你使用的是最新的vagrant和virtualbox版本。 最后的胜地:格式化您的电脑,重新安装Windows,并购买英特尔核心isomething处理器。
希望有所帮助。
我find的解决scheme是检查连接到NAT的适配器1中的电缆连接选项。 我真的不知道,这是我的第四个stream浪者箱子,但是这是唯一一个没有检查电缆连接选项的设备,经过检查,它可以工作。
我有完全相同的问题。 我认为这个问题可能是SSH密钥(错误的本地化文件或其他东西,但我检查了很多次),但你总是可以添加configuration部分的用户名和密码(不使用SSH密钥),并运行gui所以在Vagrantfile
的代码应看起来像或多或less如下:
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.username = "vagrant" config.ssh.password = "vagrant" config.vm.provider "virtualbox" do |vb| vb.gui = true end end
在我的情况下,即使GUI显示,我得到了黑屏(没有错误或可能性login或其他),并在控制台我得到了Error: Connection timeout. Retrying...
Error: Connection timeout. Retrying...
很多次。 我确定我在BIOS中启用了VT-x(虚拟化),我检查了许多Virtual Box和Vagrant版本的组合以及许多Vagrant盒(其中一些在GUI中没有黑屏,但仍然有连接问题)。 最后我再次更新了VirtualBox和Vagrant到最后的版本,问题仍然存在。
关键是在运行vagrantup(在上面显示的Vagrantfile
GUI)后,在VirtualBox中查看图标,如下图所示
尽pipe我在VirtualPC中没有错误(没有警告说VT-x没有启用),但是我的V
图标早些时候是灰色的,所以这意味着VT-x被禁用了。 正如我所说,我一直在我的BIOS中启用它。
最后,我意识到这个问题可能是由我也安装了HYPER-V
,并启用了旧版Internet Explorer的testing网站。 我去了Windows Control Panel -> Programs and functions / Software
并从左侧菜单中selectTurn on or Turn off Windows functions
(希望你会发现那些,我使用波兰语Windows,所以不知道确切的英文名称)。 我closures了Hyper-V,重新启动电脑,运行Virtual Box后vagrant up
我终于没有任何错误,在GUI中,我login屏幕,我的V
图标停止灰色。
我浪费了很多时间来解决这个问题(和许多PC重新启动),所以我希望这可能有助于任何人在Windows上有问题 – 确保您的控制面板中closures了Hyper-V。
矿井运行良好,然后这个“警告:远程连接断开。重试…”反复 – 可能20次 – 直到它连接。 根据上面的答案我只是
vagrant destroy vagrant up
这一切都很好。 我的工作很简单,但是我通过将Vagrantfile简化为config.vm.box = "ubuntu/trusty64"
这个工作,而且这个工作还在继续。 所以这就是为什么摧毁和重新开始似乎是最好的select。 鉴于这些stream浪者形象的无国籍性质,我不明白为什么这不会在任何情况下工作。 我正在进入这个领域,而我可能知道这不是事实。
我在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一个简单的方法来创build启动Windows启动Windows没有启用Hyper-V,如果有时你会需要其他虚拟机pipe理程序。;
如果您正在使用Windows 8或10,那么这对我来说是有效的:
- 更改BIOS设置以允许64位的虚拟化。
- 这里是如何:
- 使用高级启动重新启动电脑(转到高级启动 – 现在重新启动 – “排除故障” – “高级选项” – “UEFI固件设置” – “重新启动”)
- 内部BIOS窗口 – 进入“高级”菜单/选项卡 – 启用“英特尔虚拟技术”
- 保存并退出。
我有一个与现有的盒子(不知道发生了什么变化)的问题,但我可以通过SSH连接,即使Vagrant框启动失败。 正如它发生我的SSH密钥已经改变了。
从stream氓根文件夹中,我运行vagrant ssh-config
,告诉我密钥文件在哪里。 我用puttygen打开这个,然后给了我一个新的钥匙。
在我的Linux客户机上,我编辑了~/.ssh/authorized_keys
并把新的公钥放在里面。
一切都重新开始 – 现在!
我从我的Vagrantfile中删除了这一行后,遇到了同样的问题:
config.vm.network "private_network", type: "dhcp"
虚拟机装好后,我把这一行回来。
这里有很多很好的答案,我看不懂,但是我也来了一些小小的贡献。 我有两个不同的问题:
-
vagrant up
没能find我的ssh'id_rsa '(因为当时我还没有):我跑了ssh-keygen -t rsa -b 4096 -C "myemailaddress@mydomain.com"
,在这个GitHub的文章上 ,voilá,通过了这个; -
然后,我得到了同样的问题,这个问题“ 警告:连接超时,重试… ”,永远……:所以,在阅读了很多,我已经重新启动我的系统,看着我的BIOS(F2获得那里,在PC上),并禁用了虚拟化 。 我已经启用了,保存,并再次启动系统,检查是否有任何改变。
在那之后, vagrant up
就像一个魅力! 凌晨4点,但它正在运行! 多酷,哈? :D据我所知,很less有像我这样的受虐狂开发者会在Windows上尝试这个,特别是在Windows 10上 ,我不能忘记来到这里,留下我的话……另一个重要的信息是,我试图build立Laravel 5 ,使用家园,VirtualBox,composer php等。它已经工作。 所以,希望这个答案像这个问题和帮助帮助我。 我最好的祝福。 G-再见!
初始引导过程中的SSH连接超时可能与以下各种原因有关:
- 检查BIOS中是否启用了虚拟化(按照注释 ),
- 系统等待用户交互(例如共享分区未准备好 ),
- 您的私钥不匹配(通过
vagrant ssh-config
检查vagrant ssh-config
), - 引导过程需要更长的时间(尝试增加
config.vm.boot_timeout
), - 它从错误的驱动器(例如从安装程序ISO)启动,
- VM防火墙configuration错误(例如
iptables
configuration ), - 本地防火墙规则,端口冲突或与VPN软件冲突,
-
sshd
错误configuration。
要debugging这个问题,请运行一个--debug
选项或者像这样:
VAGRANT_LOG=debug vagrant up
如果没有什么明显的,那么尝试从另一个terminal连接到它,通过vagrant ssh
或通过:
vagrant ssh-config > vagrant-ssh; ssh -F vagrant-ssh default
如果SSH仍然失败,请尝试使用GUI运行它(例如config.gui = true
)。
如果不是,请检查正在运行的进程(例如: vagrant ssh -c 'pstree -a'
)或validation您的sshd_config
。
如果它是一次性虚拟机,你总是可以试着destroy
它并重新up
它。
您还应该考虑升级您的Vagrant和Virtualbox。
有关更多信息,请查看debugging和故障排除页面。
当我使用x64 box(chef / ubuntu-14.04)时,我遇到了同样的问题。
我改为x32,它工作(hashicorp /精确32)。
也许这对于帮助很多人来说太简单了,但是值得一试,如果你没有做到:做一个“stream浪汉”而不是“stream浪汉”,然后用“stream浪汉”重新启动虚拟机。
我认为我的问题是由于一些“kworker”进程变得越来越bug,并不断在虚拟机中超时,所以做一个硬重启似乎正确地重新加载进程,而保存和恢复只是恢复损坏的进程在其中断状态。
在VirtualBox中运行vagrant / VirtualBox时,我得到了这个。 我通过在主机中运行stream浪机来解决这个问题。
我通过在/etc/fstab
添加一个新条目来testing我的stream浪VM中的一个挂载文件夹。 后来我退出了,跑了徘徊,但是当我跑上了vagrant up
我得到了:
SSH auth method: private key Warning: Remote connection disconnect. Retrying...
我阅读了所有这些post,并尝试了所有与我的案例相关的案例(除了stream浪的摧毁,这肯定会解决我的问题,但在我的情况下是最后的手段)。 @Kiee的post给了我一个想法,试图直接从VirtualBox GUI启动我的虚拟机。 在启动过程中,虚拟机停止运行,询问我是否想跳过安装之前添加到/etc/fstab
的testing文件夹。 (这就是为什么stream浪汉无法启动虚拟机。)回答“否”后,虚拟机启动没有问题。 我login,从我的fstab中删除了淘气的行,并closures虚拟机。
之后,stream浪者能够启动就好了。
带走? 如果所有突如其来的stream浪者都无法启动回虚拟机,请尝试从提供者直接启动(在我的情况下是VirtualBox)。 有可能是你的启动挂钩的东西完全不相关的SSH。
在AMD64位上安装一个ubuntu32位的确有诀窍。 由于受限制的环境,我无法访问BIO,但是我仍然能够使用ubuntu / trusty32而不是ubuntu / trusty64
在Windows 7 SP1上使用Vagrant 1.6.3和VirtualBox 4.3.15
希望有所帮助。
我有同样的问题,但没有其他答案完全解决了我的问题。 回答@Kiee是有帮助的,尽pipe我在GUI中看到的只是一个黑屏 (在左上方有下划线,Virtual Box中的这个问题在堆栈溢出中也单独提出,但没有任何帮助)。
最终,一个解决scheme被certificate是非常简单的: 检查你的虚拟机的版本 。
更确切地说,我从64位Debian的其他人那里获得了一个盒子,但Virtual Box坚持认为它是32位的,我没有注意到。 要更改它,请打开Virtual Box,然后打开terminal并运行
vagrant up
等待线路
default: SSH auth method: private key
现在你可以按ctrl + C(或等待超时)并运行
vagrant halt
您的虚拟机将不会被破坏,所以您可以在Virtual Box的菜单中看到它,但是会closures,所以您可以更改设置。 在菜单中select您的机器,点击“设置” – >“常规”,select适当的“版本”,对我来说,它是“Debian(64位)”。 之后这种types再次vagrant up
。
如果这是您的情况(或“设置”的不同更改解决您的问题),您可以从修复的一个打字创build新的框
vagrant package --output mynew.box
一些更多的细节:主机32位的Ubuntu 12.04,来宾64位的Debian 8.1,虚拟箱5.0.14,stream浪1.8.1
对我来说,这是stream浪汉和虚拟盒子之间的兼容性。
我在Windows 10上,我做了什么,我卸载了stream浪汉和虚拟的盒子
然后安装专门版本为4.3.38的旧版本虚拟盒(安装此版本的扩展包)
然后安装最新版本的stream浪者(目前1.8.5)
之后,它的工作。
如果您不想启用GUI,然后必须稍后禁用它,则还可以从Oracle安装扩展包:
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html#extpack
然后将其放入您的Vagrant文件中以启用VRDP:
vb.customize ["modifyvm", :id, "--vrde", "on"]
现在,您可以使用RDP按需连接到您的盒子,而不需要SSH运行或GUI始终打开。
VMware提供商的用户的另一种可能的解决scheme:对于我来说,在同一台主机上移除VirtualBox的并行安装后,问题就解决了。 VMware和VirtualBox之间的networking接口显然是相互冲突的
我面临同样的问题。 我通过从BIOS
设置启用Virtualization
来解决这个问题。
什么对我来说是允许在64位操作系统(Ubuntu 13.10)64位虚拟化从BIOS。
在BIOS设置中检查您的CPU的虚拟化是否启用。
我已经发现,在与VirtualBox的MacOS添加到Vagrantfile将让你走得更远:
config.vm.provider 'virtualbox' do |vb| vb.customize ['modifyvm', :id, '--cableconnected1', 'on'] end
FWIW–我的问题是由于使用一个真正的旧的configuration文件,而不是一个新的。 使用新的configuration文件(并因此调整/更改DSL)立即解决了我的问题。
帮助我的是在BIOS中启用虚拟化,因为机器没有启动。
我不会按照虚拟的方式来控制,因为我无论什么时候都可以做什么,我相信stream浪者宁愿你进入另一个terminal,然后做一个:
vagrant halt
停止框。 那么就没有问题回到 VB了。
我遇到了同样的问题,但是没有提到的解决scheme为我工作! 我通过将Vagrant降级到1.6.2来解决它,现在它可以工作了!
我和Vagrant 1.6.5和Virtual Box 4.3.16也有同样的问题。 在https://github.com/mitchellh/vagrant/issues/4470中描述的解决scheme对我来说工作得很好,我只需要删除VirtualBox 4.3.16并安装旧版本4.3.12。