为什么Vagrant尝试SSH到Windows来宾?

时间:2014-05-09 21:38:53

标签: virtualbox vagrant vagrantfile

我的主机正在运行Windows 7 Pro(64位)。在这种情况下,来宾操作系统是Windows Server 2008 R2。 '流浪汉'命令正在遇到一个问题:

****default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: password
default: Warning: Connection timeout. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Remote connection disconnect. Retrying...****

直到它最终超时并说:

等待机器启动时超时。这意味着 Vagrant无法与内部的客户机通信 配置的(" config.vm.boot_timeout"值)时间段。 如果你看上面,你应该能够看到错误 Vagrant在尝试连接机器时有过。这些错误 通常是关于可能出错的好提示。 如果您使用自定义框,请确保网络正常 工作,你可以连接到机器。这很常见 网络没有在这些框中正确设置的问题。 验证身份验证配置是否也已正确设置, 同样。 如果该框似乎正在正常启动,您可能需要增加 超时(" config.vm.boot_timeout")值。

虚拟机实际上很好,可以访问和使用。

  • 为什么要尝试连接到Windows机器?

我的Vagrantfile内容是:


Vagrant.configure("2") do |config|

  # Max time to wait for the guest to shutdown
  config.windows.halt_timeout = 60

  # Admin user name and password
  config.winrm.username = "Administrator"
  config.winrm.password = "Password"

  # Configure base box parameters
  config.vm.box = "BaseBox"
  config.vm.box_url = "./Base.box"
  config.vm.guest = :windows
  config.vm.provider "virtualbox" do |v|
    v.gui = true
  end

  # Port forward WinRM and RDP (changed values to NOT conflict with host)
  config.vm.network :forwarded_port, guest: 3389, host: 3391
  config.vm.network :forwarded_port, guest: 5985, host: 5987, id: "winrm", auto_correct: true

end

2 个答案:

答案 0 :(得分:16)

您需要使用

   config.vm.communicator = "winrm"

在你的流浪文件中。 Take a look at this feature preview

答案 1 :(得分:0)

我在Windows 7中遇到过这个问题。最后我们发现这个问题是由于我们与Vagrant版本使用的Linux操作系统不兼容。因此,我们采用了Vagrant的最新版本(即v1.6.3)并将我们的操作系统更新为指向agent.vm.box_url =“http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-i386-v20131103.box

Vagrant版本4.3.8无法使用以下操作系统。 agent.vm.box_url =“http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box”。

我希望这有助于解决问题。