Vagrant ssh с пользователем 'ubuntu' на коробке ubuntu / bionic64 18.04 - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь использовать ssh как ubuntu пользователя на ubuntu / bionic64 версии коробки 20181024.0.0 , используя этот файл Vagrant:

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.box_version = "20181024.0.0"
  config.vm.network :private_network, ip: "192.168.24.25"

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

end

При выполнении vagrant up и vagrant ssh я вошел в систему как vagrant пользователь.Если эта строка добавлена:

config.ssh.username = 'ubuntu'

, чтобы получить Vagrantfile, подобный этому:

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/bionic64"
  config.vm.box_version = "20181024.0.0"
  config.vm.network :private_network, ip: "192.168.24.25"

  config.ssh.username = "ubuntu"

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

end

и работающий vagrant up, я получаю сообщение об ошибке аутентификации:

default: Warning: Authentication failure. Retrying...

Я также пытался добавить эту строку

config.ssh.insert_key = 'true'

Но это тоже не работает.

Мне известно, что пользователь может быть изменен после ssh'd в виртуальный компьютер как пользователь vagrant, но я бы хотел, чтобы это делалось автоматически, как в случае использования ubuntu /xenial64 версия 20171011.0.0 с конфигурацией по умолчанию.

Есть идеи, как это обойти?

Бродячая версия : 2.2.0

Версия VirtualBox : 5.2.20 r125813

Весь вывод:

danilo$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/bionic64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/bionic64' is up to date...
==> default: Setting the name of the VM: ubuntu-bionic64_default_1540543288462_93774
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> 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: ubuntu
    default: SSH auth method: private key
    default: Warning: Connection reset. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

1 Ответ

0 голосов
/ 26 октября 2018

инструкция на основе https://openedx.atlassian.net/wiki/spaces/OXA/pages/157802739/Vagrant+is+stuck+Authentication+failure.+Retrying...

короче

  1. комментарий config.ssh.username = "ubuntu" в Vagrantfile
  2. vagrant up \\ настройка виртуальной машины с бродячим пользователем по умолчанию
  3. получить IdentityFile значение пути из результата команды vagrant ssh-config
  4. создать ключ ssh-keygen -y -f <!!path-from-IdentityFile!!>, скопировать этот ключ
  5. vagrant ssh \\ Вы будете некоторое время авторизоваться под бродячим пользователем
  6. sudo -u ubuntu bash \\ сменить пользователя
  7. vim ~/.ssh/authorized_keys, добавить ключ от 4.
  8. выход из ВМ
  9. раскомментировать config.ssh.username = "ubuntu" в Vagrantfile
  10. vagrant reload
  11. vagrant ssh \\ теперь вы будете авторизоваться под Ubuntu
...