从 vagrant 启动 windows8.1 VM 时出现 SSH 问题

从 vagrant 启动 windows8.1 VM 时出现 SSH 问题

正如标题所述,我在使用 Vagrant 启动 win8.1 VM 时遇到了一些问题,它SSH从未连接过。控制台显示以下错误:

默认:警告:连接超时。正在重试...

完整日志:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> 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: cyg_server
    default: SSH auth method: password
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...

我安装了 cygwin64 和 openssh,将用户名配置为 ,cyg_server密码配置为vagrant。成功检查了它是否在 VM 中工作,并按照某些教程中所述ssh localhost显示目录树。ls -lh /cygdrive/c

我的Vagrantfile配置如上:

config.ssh.username = "cyg_server"
config.ssh.password = "vagrant"

但尚未成功。

当然,我在 Google 上搜索过它,但没有找到任何有用的信息,也没有与我做同样事情的教程。

有人知道如何解决这个问题吗?

我正在 上运行Mac Yosemite,使用vagrant1.7.2和。VirtualBox4.3.28Windows8.1 VM box

提前致谢。

答案1

我自己解决了。Vagrant 的文件说 Windows 机器可以使用 WinRM 通过vagrant rdp命令与 Vagrant 通信,所以我所要做的就是将Vagrantfile配置更改为这样:

config.vm.guest = :windows
config.vm.communicator = "winrm"
config.vm.network :forwarded_port, guest: 3389, host: 13389
config.vm.network :forwarded_port, guest: 5985, host: 15985, id: "winrm", auto_correct: true

然后在操作系统上启用并配置 WinRM,在控制台上插入以下命令(以管理员身份执行):

winrm quickconfig -q 
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"} 
winrm set winrm/config @{MaxTimeoutms="1800000"} 
winrm set winrm/config/service @{AllowUnencrypted="true"} 
winrm set winrm/config/service/auth @{Basic="true"} 
sc config WinRM start= auto

上述 WinRM 命令均在文档页面上描述:http://docs.vagrantup.com/v2/boxes/base.html

此后我vagrant up再次执行此操作,一切正常。

供参考:有些人在此之后遇到了麻烦(在一些论坛上看到过),因此在这种情况下也要记得检查 Windows 防火墙。

相关内容