Проблемы с SSH при запуске виртуальной машины windows8.1 из vagrant

Проблемы с SSH при запуске виртуальной машины windows8.1 из vagrant

Как описано в заголовке, у меня возникли некоторые проблемы с запуском виртуальной машины 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"

но пока безуспешно.

Конечно, я поискал в Google информацию об этом, но не нашел ни одной полезной информации, ни одного руководства, которое бы делало то же самое, что делаю я.

Кто-нибудь знает, как решить эту проблему?

Я работаю на Mac Yosemite, использую vagrant1.7.2, VirtualBox4.3.28и Windows8.1 VM box.

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

решение1

Я решил это сам. Vagrant'sдокументыговорит, что 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.

Связанный контент