2

Как описано в заголовке, у меня есть некоторые проблемы с запуском виртуальной машины win8.1 с Vagrant, где 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.28 и Windows8.1 VM box .

Заранее спасибо.

1 ответ1

0

Я решил это сам. В документах Vagrant говорится, что Windows-боксы могут использовать WinRM для связи с Vagrant с помощью команд vagrant rdp , поэтому все, что мне нужно было сделать, - это изменить конфигурации 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .