Сбой аутентификации по ssh в Vagrant

Проблема с аутентификацией по протоколу ssh:

==> 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: Adapter 2: bridged
==> 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: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...

Я могу Ctrl+C выйти из цикла аутентификации и затем успешно войти в систему вручную.

На гостевом компьютере я выполнил следующие действия:

  • Включил Удаленный вход для Всех пользователей.

  • Создал каталог ~/.ssh с правами 0700.

  • Создан файл ~/.ssh/authorized_keys с правами 0600.

  • Вставил этот открытый ключ в файл ~/.ssh/authorized_keys.

Я также попробовал использовать частную (hostonly) сеть вместо публичной (bridged), используя эту строку в файле Vagrant:

config.vm.network "private_network", ip: "172.16.177.7".

Я получаю тот же вывод (за исключением Adapter 2: hostonly), но затем не могу войти в систему вручную.

Я также попробовал config.vm.network "private_network", ip: "10.0.0.100".

Я также попробовал установить config.ssh.password в файле Vagrant. При этом выводится SSH auth method: password, но аутентификация все равно не происходит.

Также я попробовал перестроить коробку и перепроверить все вышеперечисленное.

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

Я нашел эту тему и включил GUI, но это не помогло.

Общая информация: по умолчанию для ssh-соединения можно просто использовать

user: vagrant пароль: vagrant

https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user

Сначала попробуйте: посмотреть, что такое insecure_private_key в конфигурации машины vagrant

$ vagrant ssh-config

Пример:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

http://docs.vagrantup.com/v2/cli/ssh_config.html

Второе, что нужно сделать: Замените содержимое файла insecure_private_key содержимым вашего личного системного частного ключа.

Или используйте:. Добавьте его в файл Vagrant:

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end
  1. config.ssh.private_key_path - ваш локальный закрытый ключ
  2. Ваш закрытый ключ должен быть доступен локальному ssh-агенту. Проверить это можно с помощью команды ssh-add -L. Если его нет в списке, добавьте его с помощью ssh-add ~/.ssh/id_rsa.
  3. Не забудьте добавить свой открытый ключ в папку ~/.ssh/authorized_keys на виртуальной машине Vagrant. Это можно сделать копированием и вставкой или с помощью инструмента типа ssh-copy-id (user: root password: vagrant port: 2222) ssh-copy-id '-p 2222 root@127.0.0.1'.

Если все еще не работает, попробуйте следующее:

  1. Удалите файл insecure_private_key из папки c:\Users\USERNAME\.vagrant.d\insecure_private_key.

  2. Запустите vagrant up (при этом vagrant сгенерирует новый файл insecure_private_key)

В других случаях полезно просто задать forward_agent в Vagrantfile:

Vagrant::Config.run do |config|
   config.ssh.forward_agent = true
end

Полезно:

Настройка git может быть с помощью git-scm.com

После установки этой программы и создания персональной системы приватный ключ будет находиться по пути вашего профиля: c:\users\USERNAME\.ssh\id_rsa.pub.

PS: Напоследок - предлагаем вам ознакомиться с Ubuntu на Windows 10

Комментарии (6)

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

Если вы по-прежнему можете войти по SSH на коробке с бродячими пароль (пароль залетный), т. е.

ssh vagrant@localhost -p 2222

скопируйте открытый ключ содержимого из https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub в authorised_keys файл с помощью следующей команды

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys

Когда готово покинуть виртуальную машину и попробуйте снова залет СШ. Он должен работать сейчас.

Комментарии (1)

Если вы испытываете эту проблему на Vagrant 1.8.5, а затем проверить эту нить на GitHub:

https://github.com/mitchellh/vagrant/issues/7610

Это'ы обусловлено в основном проблема с разрешением, работа только

vagrant ssh 
password: vagrant 
chmod 0600 ~/.ssh/authorized_keys
exit

тогда

vagrant reload 

К вашему сведению: эта проблема влияет только в CentOS, Ubuntu поддерживает хорошо.

Комментарии (2)

Выполните следующие команды в гостевом машина/ВМ:

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R vagrant:vagrant ~/.ssh

Тогда вообще залетный привал. Это позволит удалить и восстановить ваши приватные ключи.

(Эти шаги предполагают, что вы уже создали или уже есть ~/.СШ/ и ~/.СШ каталоги/authorized_keys в вашу домашнюю папку.)

Комментарии (0)

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

  1. Войдите в бродяги машина: бродяга СШ, используйте бродягу пароль по умолчанию`.
  2. Создать ключи SSH: например, SSH-ключей -Т ОГА -б 4096 -C и запах мяты;бродяга&; (а советовать на GitHub'соответствующие руководство s).
  3. Переименовать файл публичного ключа (по умолчанию id_rsa.паб), заменив старый: МВ .по SSH/id_rsa.паб .по SSH/authorized_keys`.
  4. Перезагрузить службу SSH в случае необходимости: `судо СШ службу перезарядки.
  5. Скопировать файл с закрытым ключом (по умолчанию id_rsa) на хост-машине: например, использовать сочетание кошки и буфер обмена, кот .по SSH/id_rsa`, краски и копия (лучшие способы должны существовать, иди придумай что-нибудь!).
  6. Выход из бродяги машина: "выход".
  7. Найти ток закрытого ключа, используемого бродяга, глядя на ее конфигурации: бродяга СШ-конфигурации (смотрите, например, ÌdentityFile-то "/[...]/private_key-то".
  8. Заменить текущий частный ключ создан на хост-машине: например, нано /[...]/private_key и вставить из буфера обмена, если все остальное терпит неудачу. (***Примечание**, однако, что если ваш private_key не конкретный проект, а общими для нескольких бродячих машин, вы лучше настроить путь к себе для того, чтобы не сломать другие прекрасно работают автоматы! Изменение пути так же просто, как добавление строки конфигурации.СШ.private_key_path = "в путь/к/private_key" в в файл Vagrantfile.*) Кроме того, если вы используете этого PuPHPet создается машина, вы можете хранить свой закрытый ключ в файл этого PuPHPet/файлы/точка/через SSH/id_rsa и он будет добавлен в файл Vagrantfile'ы через SSH config автоматически.
  9. Проверьте настройки: бродяга СШ теперь должно работать.

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

Если вы все еще сталкиваются с проблемами, это может пригодиться для добавления подробного флаг для команды ssh для облегчения отладки. Вы можете пройти этот (или любой другой вариант, если на то пошло) после двойного тире. Например, набрав бродяга СШ -- -в. Не стесняйтесь добавлять столько в's, как вам нужно, каждому дадим вам более подробную информацию.

Комментарии (7)

Это также может произойти, если вы'вновь пытается заставить виртуальную машину, чтобы использовать пользователя root по умолчанию для SSH....

Например, конфиг вроде так в файл Vagrantfile может вызвать эту ошибку:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

Решение: закомментировать эти строки и попробуйте снова!

Комментарии (1)

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

Проблема заключалась в отсутствии закрытого ключа в файле .vagrant/machines/default/virtualbox/private_key. Я скопировал закрытый ключ из того же относительного места на оригинальной коробке, и все заработало!

Комментарии (1)

Я нашел способ обойти бардак с ключами на Win 8.2, где мне не удастся с любой из упомянутых здесь методов. Это может быть интересно, что точно такая же комбинация в VirtualBox, Vagrant и запустить на Win 7 Ultimate без каких-либо проблем.

Я перешел на проверку пароля, добавив следующие команды в файл Vagrantfile:

config.ssh.password = "vagrant"
config.ssh.insert_key = false

Обратите внимание, что я'м не уверен, что это только изменения необходимы, потому что я уже сделал:

  1. Я сгенерировал новую пару ключей RSA и изменен файл authorized_keys соответственно (все в виртуальной машине, см. советы выше и в другом месте)

  2. Я скопировал в тот же каталог, где находится файл Vagrantfile и добавил

конфиг.СШ.private_key_path = " но./id_rsa и"

Но я считаю, что эти изменения были несущественными. Я потратил много времени на то, чтобы я не изменить рабочую конфигурацию по понятным причинам :)

Комментарии (0)

Если вы используете по умолчанию настройка SSH в ваш Vagrantfile и начал видеть ошибки аутентификации SSH после повторной привязки вашего окна виртуальной машины из-за аварии, попробуйте заменить публичный ключ на свой бродяги машина.

Бродяга заменяет открытый ключ, связанный с небезопасной закрытый ключ пары в каждый журнал из-за соображений безопасности. Если вы не'т правильно выключить машину, пара публичный/приватный ключ может выйти из синхронизации, в результате ошибка аутентификации SSH.

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

Комментарии (0)

для меня эта проблема была решена путем изменения разрешения .папка SSH в бродягу домой directort (т. е. на "~бродяга/.СШ и"). Я думаю, что я испортил разрешения, когда я был настройка ключей SSH для моего приложения.

Похоже, что 'authorized_keys' файл должен быть 'РАО' только для 'бродяга' пользователя "и команду chmod 600 authorized_keys и"; то же самое касается и самой директории и ее родителей:

так:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Это было только после того, как я все эти разрешения восстанавливается, что бродяга СШ снова начал работать.

Я думаю, что это's что-то делать с безопасностью СШ. Он отказывается признать сертификаты, если они любым способом добраться за рамки текущего пользователя, так залетные попыток войти, таким образом, отвергнуто.

Комментарии (3)

Это случилось со мной несколько раз и я решил это :

  1. Проверьте и убедитесь, что ваш файл Vagrantfile имеет правильный путь к файлу закрытого ключа :

конфиг.СШ.private_key_path = " - а/дом/Разван/.по SSH/id_rsa и" 2. Выполнить > команда залетный SSH в терминале Linux

  1. На вашем Vagrant машину идти

компакт-диск /домашний/бродяга/.СШ

и проверьте, если ключ в файл authorized_keys-это так же, как и у вас на локальном компьютере в файле ~/.по SSH/id_rsa.паб. Если не заменить один из ваших бродяга authorized_keys с одного на местные машины нашел в ~/.по SSH/id_rsa.паб.

  1. Перезагрузить Бродяга :

бродяга перезагрузить

Надеюсь, это поможет кто-то другой. Ура!

Комментарии (2)

Невозможно выполнить команду Vagrant, потому что он застревает и времени?

Недавно я был "на воды в случай компьтер-книжки" и пришлось перенести в новую(на Mac кстати).

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

$ залет вверх Приведение машины 'по умолчанию' с 'пакет' поставщика... ==> По умолчанию: очистка любых ранее установленных переадресованных портов... ==> По умолчанию: очистка любых ранее установленных сетевых интерфейсов... ==> По умолчанию: подготовка сетевых интерфейсов на основе конфигурации... по умолчанию: адаптер 1: Нату по умолчанию: адаптер 2: hostonly ==> По умолчанию: переадресация портов... по умолчанию: 8000 (гость) => 8877 (хозяин) (адаптер 1) по умолчанию: 8001 (гость) => 8878 (хозяин) (адаптер 1) по умолчанию: 8080 (гость) => 7777 (сервер) (адаптер 1) по умолчанию: 5432 (гость) => 2345 (хозяин) (адаптер 1) по умолчанию: 5000 (гость) => 8855 (хозяин) (адаптер 1) по умолчанию: 22 (гость) => 2222 (хозяин) (адаптер 1) ==> По умолчанию: бежать 'предзагрузочной' настройки виртуальной машины... ==> По умолчанию: загрузка виртуальной машины... ==> По умолчанию: ждет машина, чтобы загрузиться. Это может занять несколько минут... по умолчанию: СШ-адрес: 127.0.0.1:2222 по умолчанию: имя пользователя SSH-залет по умолчанию: способ СШ авт: закрытый ключ по умолчанию: предупреждение: сбой проверки подлинности. Повтор... по умолчанию: предупреждение: сбой проверки подлинности. Повтор... по умолчанию: предупреждение: сбой проверки подлинности. Повтор...

Он не мог'т пройти проверку, снова и снова повторяется и в конце концов сдался.

Вот как я получил его обратно в форму в 3 шага:

1 - Найти IdentityFile используется бродяга: $ бродяга СШ-конфиг

Хост по умолчанию Хоста 127.0.0.1 Пользователя залетный Порт 2222 UserKnownHostsFile /dev/нуль StrictHostKeyChecking нет PasswordAuthentication нет IdentityFile /пользователи/нед/.залет.д/insecure_private_key IdentitiesOnly да Уровень смертельного

2 - Регистрация открытого ключа в IdentityFile: $ SSH-ключей -г -Ф-пользователей //<пользователь-имя&GT;/.залет.д/insecure_private_key Заменить `'<пользователь-имя>' с вашим пользователем. Это'Лл выглядеть примерно так: СШ-ОГА AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9Whq== 3 - Войдите в Vagrant машину с паролем на "бродяга" и: $ СШ -п 2222 -о UserKnownHostsFile=/dev/нуль vagrant@127.0.0.1

Подлинность хозяина &#39;[127.0.0.1]:2222 ([127.0.0.1]:2222)&#39; может&#39;т быть установлено. Ключ RSA отпечатков пальцев постоянного тока:48:73:С3:18:Е4:9Д:34:А2:7Д:4Б:20:6а:Е7:3D и 3е. Вы уверены, что хотите продолжить подключение (да/нет)? да Предупреждение: постоянно добавляются &#39;[127.0.0.1]:2222&#39; (ОГА) в список известных хостов. vagrant@127.0.0.1&#39;пароль: бродяга Добро пожаловать на Ubuntu 16.04.1 ЛЦ (GNU/Линукс 4.4.0-31-универсальный x86_64 с) ...

4 - Добавить публичный ключ в файл authorized_keys. $ Эхо "СШ-ОГА AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9Whq==" и > /домашний/бродяга/.по SSH/authorized_keys СШ-ОГА

5 - Выход (клавиш crtl + D) и остановить бродягу контейнер и вернуть его обратно. $ залетный привал $ бродягавверх'

Надеюсь, вы будете иметь ваши руки в воздухе...

Я получил это, с помощью всего лишь незначительные изменения, из NED Batchelders статьи - нед ты чемпион!!

Комментарии (1)

1. Найдите секретный ключ в узле:

vagrant ssh-config
#

Выход:

Host default
  ...
  Port 2222
  ...
  IdentityFile /home/me/.vagrant.d/[...]/virtualbox/vagrant_private_key
  ...

2. Хранить путь к файлу закрытого ключа и номер порта в переменных:

Использовать эти две команды с выходом сверху:

pk="/home/me/.vagrant.d/.../virtualbox/vagrant_private_key"
port=2222
#

3. Создать открытый ключ и загрузить его на гостевой машине:

Копия/паста, не требующая изменения:

ssh-keygen -y -f $pk > authorized_keys
scp -P $port authorized_keys vagrant@localhost:~/.ssh/
vagrant ssh -c "chmod 600 ~/.ssh/authorized_keys"
rm authorized_keys
#
Комментарии (1)

Это может быть последний ответ в списке, но этот работал для меня и я не смог найти этот ответ где угодно, я нашел его сам после 2-х дней исследования, так что вы'вэ лучше попробуйте это, если ничто другое не работал для вас до сих пор.

В моем случае проблема была из-за моих отказов. Я не'т знаю, по какой причине была отключена опция и она должна быть включена.

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

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key

Сначала я думал, что порт уже используется, после этого я переустановил бродяга и я также пробовал другие вещи, но никто из них не работал для меня.

Комментарии (0)
Решение

Убедитесь, что первым сетевым интерфейсом является NAT. Другой второй сетевой интерфейс может быть любым, который вы захотите использовать при создании коробки. Не забудьте о пользователе Vagrant, как обсуждалось в теме Google.

Удачи.

Комментарии (0)

Решение Mac:

  1. Добавлен локальный ключ SSH id_rsa к бродячим закрытый ключ

ви пользователям //<пользователь>/.бродяга/машин/по умолчанию/пакет/private_key

Пользователи //<пользователь>/.по SSH/id_rsa

  1. скопировать публичный ключ /пользователи/<пользователь>/.по SSH/id_rsa.паб на бродячих коробки authorized_keys

СШ залетный@localhost в -п 2222 (пароль: залетный) LS-Ла диск .СШ`

  1. команду chmod 0600 ~/.по SSH/authorized_keys

  2. бродяга перезагрузка

Проблема решена.

Спасибо

Комментарии (0)

также не может выйти за пределы:

по умолчанию: способ СШ авт: закрытый ключ

Когда я использовал в VirtualBox GUI, то он говорил мне, что есть несоответствие процессор операционной системы.

Чтобы получить залет вверх двигаться дальше, в BIOS настройки мне пришлось контр-интуитивно:

Отключить: Виртуализация

Включить: Вт-х

Попробуйте изменить эти настройки в BIOS.

Комментарии (0)

Прежде всего, вы должны удалить файл insecure_private_key автоматически, то восстановить этот файл путем ввода

vagrant ssh-config

тогда

vagrant halt
vagrant up

Он должен работать

Комментарии (2)

Я решила вопрос следующим образом.

  1. Создать новый ключ SSH с помощью Git Баш

$ SSH-ключей -Т ОГА -б 4096 -с "и Бродяга@localhost в том, что"

Создает новый ключ SSH, с помощью электронной почты в качестве метки

Привлечения общественных/частных ключей RSA.

  1. Когда вы'повторно запрос, чтобы "укажите файл, в который будет сохранен ключ," и нажмите Enter. Это можно расположение файлов по умолчанию.

Введите файл в который будет сохранен ключ (/пользователи/[Вы]/.по SSH/id_rsa): [нажмите Enter]

  1. В командной строке введите безопасный пароль. Вы можете оставить пустым и нажать ввод, если вам не нужен пароль.

Введите файл в который будет сохранен ключ (/пользователи/[Вы]/.по SSH/id_rsa): [нажмите Enter]

  1. Для подключения к вашему типу залет ВМ следующую команду

СШ залетный@localhost в -п 2222

Когда вы получите следующее сообщение типа “да” и нажмите Enter.

The authenticity of host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
  1. Теперь, чтобы установить СШ тип соединения : $ залетный СШ

  2. Копия хоста открытый ключ в файл authorized_keys в ВМ Бродяга. Для этого, перейдите в “Пользователи/[вы]/.СШ” папки и копировать содержимое id_rsa.файл паб в хост-машине и прошлого в “~/.файл SSH/authorized_keys” в ВМ Бродяга.

  3. Разрешение на изменение на папку SSH и файл authorized_keys в ВМ залет

  4. Перезагрузите бомжа : $ бродячих перезагрузить

Комментарии (0)

Просто для тех людей, которые были идиоты, вроде меня, или имели что-то странное произошло с их бродяги машина. Эта ошибка также может произойти, если вы изменили разрешения бродячая пользователя'домашней директории с (намеренно или случайно).

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

судо Чаун -Р бродяга:бродяга /домашний/бродяга

Затем вы сможете снова войти в систему без ввода пароля.

ТЛ;ДР: права доступа на домашнюю папку бродяга не правы.

Комментарии (0)