流浪者警告:连接被拒绝。重试

问题描述 投票:0回答:5

测试默认示例

$ vagrant init hashicorp/precise32
$ vagrant up

我的盒子:

我知道这是常见错误,但在尝试了一切之后我仍然无法使其工作 Getting error

VM 显示: enter image description here

我可以成功登录: enter image description here

防火墙/防病毒软件已关闭。

未安装 Hyper-V
enter image description here

我尝试通过 putty 连接到 127.0.0.1 2222 enter image description here

编辑: enter image description here

enter image description here

Vagrantfile(我已删除注释掉的行)

Vagrant.configure(2) do |config|
    config.vm.box = "hashicorp/precise32"
end

这就是 vagrant ssh 所做的……什么也没做。流浪者重新加载陷入了同样的问题。 enter image description here

vagrant virtualbox vagrant-windows
5个回答
4
投票

Vagrant 在第一次启动时时常会发生这种情况。 执行此操作后,它会超时并根据提示让您返回,然后转到

vagrant ssh
,它会让您进入。如果没有转到
vagrant reload
,它将重新启动虚拟机。 发生这种情况是因为 vagrant 图像已关闭 dns,因此需要一段时间才能解析连接。 同样,这种情况有时会在您下载并启动后第一次出现。


1
投票

我怀疑这可能是 VBox 来宾配置错误。

我想您可以尝试确保在虚拟机的设置中启用了 NAT 和端口转发,如果没有,您可以手动启用它:在 VirtualBox 图形管理器中,选择计算机,单击设置,单击在弹出窗口右侧的网络上,检查所有适配器并确保“附加到 NAT”的适配器已启用。另外,检查端口转发设置。您还可以在运行虚拟机时通过底部/左侧的按钮(第二张图片中的第三个按钮,从左到右)访问网络设置。


0
投票

在多次销毁/reebots之后,我发现我的情况是这样的:检查您是否有一个正在运行的SSH代理并加载了密钥(如PuTTY的Pageant)。

在我的例子中,使用 Pageant 加载另一个 SSH 密钥(而不是为 Vagrant 配置的密钥)与身份验证过程发生冲突,导致无休止的“连接被拒绝。重试”,最终导致我无法使用 Vagrant。

解决方案是

  • 在 Pageant 中加载适当的密钥
  • 关闭选美(我通常这样做,因为在我的情况下它更快)

希望这对那里的人有帮助!


0
投票

这里有一些我会尝试的事情(我知道你可能已经尝试了很多这样的方法,它可能无法解决你的问题,但以防万一):

  • 按照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,因为它使用起来更简单。


0
投票

使用以下命令在 WSL 中安装 virtualbox_WSL2 插件解决了我的问题

vagrant plugin install virtualbox_WSL2

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.