Problemy z SSH podczas uruchamiania Windows 8.1 z maszyny wirtualnej

2

Jak opisano w tytule, mam pewne problemy z uruchomieniem maszyny wirtualnej win8.1 z Vagrantem, gdzie SSH nigdy się nie łączy. Konsola wyświetla błąd poniżej:

domyślnie: Ostrzeżenie: Limit czasu połączenia. Ponawianie próby ...

Pełny dziennik:

$ 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...

Zainstalowałem cygwin64 i openssh, skonfigurowałem nazwę użytkownika jako cyg_server i hasło jako vagrant. Pomyślnie sprawdzono, czy działa w VM ssh localhost i wyświetlanie drzew katalogów za pomocą ls -lh /cygdrive/c jak opisano w jakimś samouczku.

Mój Vagrantfile jest skonfigurowany jak powyżej:

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

ale nie powiodło się.

Oczywiście przeczytałem o tym bez dobrych informacji i żadnych samouczków robiących to samo, co ja.

Ktoś wie, jak rozwiązać ten problem?

Biegam na Mac Yosemite, za pomocą vagrant1.7.2, VirtualBox4.3.28 i Windows8.1 VM box.

Z góry dziękuję.

FormigaNinja
źródło

Odpowiedzi:

0

Sam to rozwiązałem. Vagrant dokumenty mówi, że skrzynki Windows mogą używać WinRM do komunikacji z Vagrantem vagrant rdp polecenia, więc wszystko, co musiałem zrobić, to się zmienić Vagrantfile konfiguracje do tego:

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

Następnie włącz i skonfiguruj WinRM w systemie operacyjnym, wstawiając poniższe polecenia na konsoli (wykonaj jako admin):

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

Powyższe polecenia WinRM są opisane na stronie dokumentów: http://docs.vagrantup.com/v2/boxes/base.html

Po tym właśnie vagrant up to znowu i wszystko działało dobrze.

FYI: Niektórzy ludzie mieli po tym kłopoty (czytaj na jakimś forum), więc w tym przypadku pamiętaj tylko o sprawdzeniu zapory systemu Windows.

FormigaNinja
źródło