從 vagrant 啟動 windows8.1 VM 時出現 SSH 問題

從 vagrant 啟動 windows8.1 VM 時出現 SSH 問題

如標題所述,我在使用 Vagrant 啟動 win8.1 虛擬機器時遇到一些問題,永遠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。已成功檢查它是否在虛擬機器中運作並使用某些教程中所述的方式ssh localhost顯示目錄樹。ls -lh /cygdrive/c

我的Vagrantfile配置如上:

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

但還沒有成功。

當然,我在谷歌上搜尋了它,沒有任何好的信息,也沒有教程做與我所做的相同的事情。

有人知道如何解決這個問題嗎?

我正在Mac Yosemite使用vagrant1.7.2、、運行。VirtualBox4.3.28Windows8.1 VM box

提前致謝。

答案1

我自己解決了。流浪者的文件說 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 防火牆。

相關內容