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