VirtualBox 6.0.8, Vagrant 2.2.4 Зависает от метода аутентификации SSH: закрытый ключ - PullRequest
1 голос
/ 24 мая 2019

Я новичок в Вагранте. Я пытаюсь получить подходящую среду разработки для создания проекта Symfony, но по какой-то причине я не могу заставить это работать. Независимо от того, какую машину я создаю, я всегда застреваю в строке «SSH метод аутентификации: закрытый ключ».

За последние 2 дня я много читал, и эта проблема, похоже, возникла по разным причинам. Я перепробовал все на переполнении satck, но просто не могу точно определить, что вызывает мои настройки.

Я на своем ноутбуке с Windows 10. У меня VirtualBox 6.0.8 и Vagrant 2.2.4.

Я попробовал 4 разных бокса, в том числе один, построенный с помощью Chef, и более универсальный бокс, который работал бы одновременно (hashicorp / точный64)

Так что я уверен, что проблема в другом месте, которое находится в vagrantfile.

В моем BIOS активирована виртуализация ... проверено дважды.

Я попытался использовать консоль git, Windows cmd с и без разрешения администратора, а также powershell (на всякий случай) и получил тот же результат.

ssh-config говорит следующее:

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2200
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile "C:/Users/Utilisateur 1/.vagrant.d/insecure_private_key"
  IdentitiesOnly yes
  LogLevel FATAL

Я установил флажок внутри графического интерфейса VirtualBox в разделе конфигурации, и флажок кабеля установлен, и порты, по-видимому, перенаправляются с 2200 на гостевую 22 или с 2222 на гостевую 22 в зависимости от того, какую коробку я пытаюсь установить. Дальний всегда соответствует ssh-config

также попытался добавить cableconnected1 в файл vagrant, даже если в конфигурации графического интерфейса установлен флажок ...

config.vm.provider "virtualbox" do |vb|
    vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end

Я проверил, существует ли insecure_private_key в правильном месте, и это делает C: / Users / Utilisateur 1 / .vagrant.d / insecure_private_key

Я попытался использовать аутентификацию по паролю вместо ssh-ключа, но он также замерз, поэтому я вернул его к использованию ssk-ключа.

Я также попытался удалить файл KnowHost в папке .ssh, но он ничего не сделал

Каждый раз, когда я пробовал что-то новое, я использовал Бродяга уничтожить, а затем бродить вверх - обеспечение

Я пытался использовать SSH внутри коробки, пока она остановилась ssh vagrant@127.0.0.1 -p 2200 -i ~ / .vagrant.d / insecure_private_key -o UserKnownHostsFile = / dev / null -o StrictHostKeyChecking = нет -o PasswordAuthentication = нет -o IdentitiesOnly = да Но это дает мне ssh_exchange_identification: читай: сброс соединения по пиру

Запуск ВМ из графического интерфейса VB дает мне черный экран и глохнет в одном месте

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

Так что, я попробовал следующие коробки hashicorp / precise64 бенто / убунт-18.04 усадьба И еще 1 я удалил и не помню имя Утверждается, что все эти baxs работают.

Я попытался добавить port_forward в vagrantfile, потому что это, похоже, помогло другим участникам с той же проблемой, но я получил 2 порта вперед и все еще завис в том же месте ...

Вот бревно журнала --debug &> vagrant.log на моей виртуальной машине bento / ubuntu-18.04 https://transferxl.com/08vvkdTr6YJ5B2

Я попытался простить мой бродячий файл до минимума, но это не помогло

Мой бродячий файл на данный момент выглядит так:

Vagrant.configure("2") do |config|
    #berkshelf
    config.berkshelf.enabled = true

    #box
    config.vm.box = 'bento/ubuntu-18.04'
    config.vm.network :private_network, ip: '192.168.33.200'

    #network
    config.vm.network :forwarded_port, guest: 80, host: 8080

    #chef
    chef_repo_path = './chef'

    config.vm.provision :chef_solo do |chef|
        chef.cookbooks_path = 'chef/cookbooks'
        chef.data_bags_path = 'chef/data_bags'
        chef.environments_path = 'chef/environments'
        chef.roles_path = 'chef/roles'

        chef.environment = 'vagrant'
        chef.run_list = [
            'role[webserver]'
        ]
    end

end

- РЕДАКТИРОВАТЬ

Как предложил Стром в комментариях ниже, в случае, если пробел в моем имени пользователя Windows был проблемой, я добавил следующее в vagrant

config.ssh.private_key_path = ["C:/Users/Utilisateur\ 1/.vagrant.d/insecure_private_key"]
config.ssh.insert_key = true

Но это вернулось

vagrant destroy
==> default: Loading Berkshelf datafile...
==> default: Sharing cookbooks with VM
==> default: Running cleanup tasks for 'berkshelf'...
    default: Are you sure you want to destroy the 'default' VM? [y/N] y
There are errors in the configuration of this machine. Please fix
the following errors and try again:

SSH:
* `private_key_path` file must exist: C:/Users/Utilisateur\ 1/.vagrant.d/insecure_private_key

Так что я изменил его на

config.ssh.private_key_path = ["~/.vagrant.d/insecure_private_key"]
config.ssh.insert_key = true

Но это не решило мою первоначальную проблему

1 Ответ

0 голосов
/ 27 мая 2019

Спустя почти 4 дня, я наконец заработал ... Мой жесткий диск упал замертво, поэтому мне пришлось заменить его и переустановить Windows и все мои вещи. Первым делом я попробовал vagrant и virtualbox снова. Сработало с первой попытки. Я подозреваю, что было что-то не так с VirtualBox и сеть (имеется в виду мои физические интерфейсы). К сожалению, это все, что я могу сказать по этому поводу, так как я никогда не доходил до сути этой проблемы. Если, как и я, вы попробовали все, и у вас все еще есть та же проблема, что и у меня, вы должны взглянуть на свою сеть. Я не собираюсь говорить вам, чтобы переустановить Windows ... это было бы безумно ... Но что-то где-то сломалось, и теперь все работает, как ожидалось. Странно, но это правда!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...