测试默认示例
$ vagrant init hashicorp/precise32
$ vagrant up
我的盒子:
防火墙/防病毒软件已关闭。
我尝试通过 putty 连接到 127.0.0.1 2222
Vagrantfile(我已删除注释掉的行)
Vagrant.configure(2) do |config|
config.vm.box = "hashicorp/precise32"
end
Vagrant 在第一次启动时时常会发生这种情况。 执行此操作后,它会超时并根据提示让您返回,然后转到
vagrant ssh
,它会让您进入。如果没有转到 vagrant reload
,它将重新启动虚拟机。 发生这种情况是因为 vagrant 图像已关闭 dns,因此需要一段时间才能解析连接。 同样,这种情况有时会在您下载并启动后第一次出现。
我怀疑这可能是 VBox 来宾配置错误。
我想您可以尝试确保在虚拟机的设置中启用了 NAT 和端口转发,如果没有,您可以手动启用它:在 VirtualBox 图形管理器中,选择计算机,单击设置,单击在弹出窗口右侧的网络上,检查所有适配器并确保“附加到 NAT”的适配器已启用。另外,检查端口转发设置。您还可以在运行虚拟机时通过底部/左侧的按钮(第二张图片中的第三个按钮,从左到右)访问网络设置。
在多次销毁/reebots之后,我发现我的情况是这样的:检查您是否有一个正在运行的SSH代理并加载了密钥(如PuTTY的Pageant)。
在我的例子中,使用 Pageant 加载另一个 SSH 密钥(而不是为 Vagrant 配置的密钥)与身份验证过程发生冲突,导致无休止的“连接被拒绝。重试”,最终导致我无法使用 Vagrant。
解决方案是
希望这对那里的人有帮助!
这里有一些我会尝试的事情(我知道你可能已经尝试了很多这样的方法,它可能无法解决你的问题,但以防万一):
按照https://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx中的步骤完全禁用Hyper-V(不确定Windows功能是否足够 - 即使您使用的是32位盒子)
不确定您从虚拟机登录虚拟机时是否启用了GUI模式,或者您刚刚打开它,但启用该选项并检查启动过程中是否没有任何阻塞
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
使用另一个ssh端口(即使它没有提到有冲突)你可以尝试另一个端口
config.vm.network :forwarded_port, guest: 22, host: 2522, auto_correct: false, id: "ssh"
查看
vagrant up
是否可以用putty连接。
vagrant up --debug
来获取有关错误的更多信息,您将看到它循环/错误的位置,并提供输出以供其他人评论编辑
再看一眼,我以为问题是关于
connection timeout
,但消息说的是connection refused
SSH username: vagrant
SSH auth method: password
但是您没有在显示的 Vagrantfile 中传递任何密码。只需添加
Vagrant.configure(2) do |config|
config.vm.box = "hashicorp/precise32"
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
end
我建议使用 ssh-key,因为它使用起来更简单。