vagrant ssh не работает должным образом, он не соблюдает мои пользовательские настройки

Прежде всего, я настроил отдельный ключ ssh для своего бродячего ящика. И у меня есть эта настройка в моем ~/.ssh/config

Host    vag_ubuntu14
HostName 127.0.0.1
Port    2222
User    vagrant
IdentityFile ~/.ssh/vag_ubuntu14/id_rsa

И я скопировал открытый ключ в ~/.ssh/authorized_keys бродячего ящика с помощью этой команды.

cat ~/.ssh/vag_ubuntu14/id_rsa.pub | ssh -p2222 [email protected] 'cat > ~/.ssh/authorized_keys'

Итак, при запуске ssh vag_ubuntu14 работает как положено. Но запуск vagrant ssh по ssh к бродячему ящику не работает. Это приводит к сбою аутентификации.

Вот мой текущий файл Vagrant с уже указанным путем к закрытому ключу.

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

Vagrant.configure(2) do |config|

  config.vm.box = "ubuntu14_04"

  config.vm.provider "virtualbox" do |vb|
    vb.name = "Ubuntu 14.04"
  end

  config.vm.provision :shell, path: "provision/bootstrap.sh"

  config.ssh.private_key_path = '/home/chris/.ssh/vag_ubuntu14/id_rsa'

end

Но когда я запускаю vagrant ssh-config, он не учитывает пользовательский путь к закрытому ключу, который я указал в своем Vagrantfile.

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/chris/ubuntu14_04/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

person theUnknown777    schedule 10.04.2015    source источник


Ответы (1)


Для всех, у кого возникла такая же проблема. Я обнаружил, что решение очень простое.

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

Вы можете увидеть расположение закрытого ключа, запустив:

`vagrant ssh-config`

Удалите закрытый ключ, указанный в IdentityFile.

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/chris/ubuntu14_04/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

Когда вы удалили закрытый ключ, который был предварительно установлен на вашем vagrant box, просто укажите местоположение вашего нового закрытого ключа в Vagrantfile.

config.ssh.private_key_path = 'location of your private key'

Чтобы убедиться, что ваш новый закрытый ключ читается, снова запустите vagrant ssh-config.

person theUnknown777    schedule 12.04.2015
comment
После нескольких часов попыток различных решений это, наконец, решило проблему для меня. Я все еще не понимаю, почему мой vagrant ssh-config перечисляет две записи IdentityFile - person Marco; 15.07.2015
comment
Согласно бродячим документам: вы также можете указать несколько закрытых ключей, установив это как массив. Это полезно, например, если вы используете закрытый ключ по умолчанию для загрузки машины, но позже замените его, возможно, более безопасным ключом. (vagrantup.com/docs/vagrantfile/ssh_settings.html) - person Aine; 29.03.2018