Vagrant зависает на методе аутентификации SSH: пароль

Вопрос или проблема

Я пытаюсь загрузить виртуальную машину через Vagrant. Это мой первый опыт в этом.

Я использую Windows 10 64bit и пытаюсь запустить MS Server 2016 стандарт.

Я создал новую виртуальную машину в VirtualBox и добавил стандарт MS2016.

Я создал бокс.

В PowerShell (как администратор) я ввожу vagrant up, и проблема в том, что я получаю следующее сообщение об ошибке

Метод аутентификации SSH: пароль

Виртуальная машина все еще загружается, и я могу нажать CTRL ALT DELETE и войти без проблем. Однако окно PowerShell не продвигается дальше сообщения выше

Теперь это хорошо задокументировано на StackOverflow и GitHub, но все сообщения об этом очень старые. И моя проблема не решается тем, что я прочитал, что я попытаюсь объяснить здесь, не утомляя вас огромным списком.

И они сводятся к активации VT-X и обеспечению сетевого подключения
https://superuser.com/a/1051626/293658, где показано, что мне нужно включить VT-X (что я сделал), но отключить виртуализацию в BIOS. У меня нет возможности отключить виртуализацию в BIOS на материнской плате ASUS p8z77-v

https://www.vagrantup.com/docs/boxes/base.html предоставляет информацию о том, что мне нужно сделать для Windows, что я и сделал:

  • Отключить UAC (включая редактирование реестра)
  • Отключить сложные пароли
  • Отключить “Мониторинг завершения работы”
  • Отключить “Диспетчер сервера” при входе в систему (для не-Core)

На моем компьютере я отключил все антивирусные и брандмауэрные функции.

Единственный пункт, о котором я могу подумать, это то, что я не предоставил Vagrant никаких данных по имени пользователя/паролю, но администратор на виртуальной машине – (пользователь) vagrant и (пароль) vagrant

Я также попробовал использовать VagrantFile, так как многие жалуются на сетевой кабель, поэтому мой VagrantFile таков:

Vagrant.configure("2") do |config|

   config.vm.provider "virtualbox" do |vb|
     vb.gui = true
     config.ssh.username = "vagrant"
     config.ssh.password = "vagrant"
     config.ssh.insert_key = false
     vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
   end

  config.vm.provision 'Task', :type => 'shell', :path => "Task.ps1", :powershell_elevated_interactive => false

end

Когда виртуальная машина загружается через Vagrant, это нижняя панель инструментов, чтобы показать, что все части “работают”

введите описание изображения здесь

Если я перехожу в Панель управления -> Программы и компоненты и выбираю из меню слева Включить или отключить функции Windows, это показывает, что Hyper-V не включен

Почему он не входит в мой рабочий стол Windows?

Версия VirtualBox 5.2.8
Версия Vagrant 2.0.2

SSH не включен в установщик Windows. Вам нужно “ssh.exe” в вашем Windows пути на vagrant box.

На vagrant box:

  1. Установите Git http://git-scm.com/downloads
  2. Выберите “Использовать Git и дополнительные инструменты Unix из командной строки Windows”.

ИСТОЧНИК: http://tech.osteel.me/posts/2015/01/25/how-to-use-vagrant-on-windows.html

Вам нужно поместить открытый ключ Vagrant, найденный в
github,
файл с именем vagrant.pub, в SSH папку authorized_keys.

Смотрите раздел "пользователь vagrant" в
документации Vagrant.

В Linux эта папка находится в .ssh/authorized_keys, а в Windows в
C:\Users\vagrant\.ssh\authorized_keys,

Мой опыт:

  • halt не сработал
  • изменение различных параметров Vagrantfile не сработало
  • destroy не сработал
  • попробовать другую виртуальную машину не сработало

Перезагрузка Windows 10 помогла… Я должен был это представить!

Ответ или решение

Решение проблемы с зависанием Vagrant на SSH с методом аутентификации: пароль

Ситуация, с которой вы столкнулись, когда Vagrant зависает на этапе аутентификации через SSH с использованием пароля, может быть довольно распространенной среди пользователей Windows, особенно при запуске виртуальных машин на платформе VirtualBox. Рассмотрим практические решения и потенциальные причины возникновения этой проблемы, а также шаги по их устранению.

1. Убедитесь, что SSH подключение возможно

Проблемы с подключением по SSH бывают связаны с отсутствием необходимых компонентов или настройками сети. Поскольку вы используете Windows 10 и VirtualBox, сначала убедитесь, что на вашей виртуальной машине установлен SSH. Обычно это не входит в стандартные установки Windows, поэтому вам потребуется:

  • Установить Git с помощью официального сайта Git.
  • При установке выберите опцию "Использовать Git и дополнительные Unix утилиты из командной строки Windows". Это позволит вам использовать ssh.exe.

2. Проверьте настройки Vagrant

Ваш Vagrantfile выглядит в целом правильно, но проверьте, правильно ли настроены параметры SSH:

Vagrant.configure("2") do |config|
   config.vm.provider "virtualbox" do |vb|
     vb.gui = true
     config.ssh.username = "vagrant"
     config.ssh.password = "vagrant"  # Возможно, убрать эту строку
     config.ssh.insert_key = false
     vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
   end
   config.vm.provision 'Task', type: 'shell', path: "Task.ps1", powershell_elevated_interactive: false
end

Обратите внимание, что использование пароля в Vagrantfile может не сработать, если SSH ключи настроены неправильно. Попробуйте удалить строчку с указанием пароля и убедитесь, что SSH ключи настроены правильно.

3. Установка публичного ключа SSH

Чтобы использовать SSH аутентификацию на основе ключей, вам необходимо добавить публичный ключ Vagrant в authorized_keys вашего виртуального сервера. Обычно это делается следующими шагами:

  1. Скопируйте файл публичного ключа Vagrant, который обычно можно найти в репозитории Vagrant под именем vagrant.pub.
  2. На виртуальной машине найдите папку C:\Users\vagrant\.ssh\ и создайте файл authorized_keys, если он отсутствует.
  3. Вставьте содержимое файла vagrant.pub в файл authorized_keys.

4. Проблемы с сетью

Убедитесь, что виртуальная сеть настроена правильно. Попробуйте использовать адаптер "NAT" или "Bridged Adapter" для виртуальной машины. Это может помочь в решении проблем с доступом.

5. Отключение антивирусов и брандмауэров

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

6. Обновление и перезагрузка

Иногда простая перезагрузка системы может решить множество проблем. Не забудьте также обновить Vagrant и VirtualBox до последних версий, поскольку новые версии могут содержать критические исправления и улучшения.

Заключение

Если после выполнения всех предложенных шагов проблема все еще сохраняется, возможно, стоит рассмотреть возможность использования другой версии Vagrant или VirtualBox. К тому же, стоит обратить внимание на форумы и сообщество Vagrant, которые могут иметь более актуальную информацию и предложить решения на основе опыта других пользователей.

Подобные проблемы могут возникнуть в различных конфигурациях, однако большинство из них можно решить правильными настройками и проверками. Не забывайте шаг за шагом проходить по проверке всех предложенных аспектов, и вы, скорее всего, сможете восстановить функциональность вашей виртуальной машины.

Оцените материал
Добавить комментарий

Капча загружается...