Невдалий ssh-аутентифікацію ssh


147

Проблема з аутентифікацією 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вийти з циклу аутентифікації, а потім успішно запустити вручну.

Я виконав наступні дії на гостьовій скриньці:

  • Увімкнено Remote Loginдля All Users.

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

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

  • Вставте цей відкритий ключ у~/.ssh/authorized_keys

Я також спробував використовувати приватну (настільки), а не загальнодоступну (мостову) мережу, використовуючи цей рядок у Vagrantfile:

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

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

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

Я також спробував налаштування config.ssh.passwordу програмі Vagrantfile. Це робить результат, SSH auth method: passwordале все ще не підтверджує автентифікацію.

А також я спробував відновити коробку і повторно перевірити все вище.

Схоже, що інші мали успіх у цій конфігурації , тож я маю щось не так.

Я знайшов цю тему і включив графічний інтерфейс, але це не допомагає.

Відповіді:


1

Переконайтеся, що ваш перший мережевий інтерфейс NAT. Другим другим мережевим інтерфейсом може бути все, що завгодно, коли ви будуєте вікно. Не забувайте користувача Vagrant, про що йдеться в темі Google.

Удачі.


171

Для загальної інформації: за умовчанням для ssh-connect ви можете просто використовувати

користувач: vagrantпароль:vagrant

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

По-перше, спробуйте: побачити, що бродяг insecure_private_keyє у вашій конфігурації машини

$ 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на вміст приватного ключа особистої системи

Або скористайтеся: додайте його до Vagrantfile:

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 VM. Це можна зробити, скопіювавши та вставивши, або скориставшись таким інструментом, як ssh-copy-id (користувач: rootпароль: vagrantпорт: 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(бродячий генерує новий 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


4
у моєму випадку це було проблемою через те, що config.ssh.private_key_path = "~/.ssh/id_rsa"довелося вилучити цю лінію, щоб забезпечити роботу резервуванням
holms

Все це спрацювало, але мені також довелося видалити свій запис у відомих хостах. У мене виникли проблеми під час переміщення місць розташування та входу в систему.
Pumphouse

@shilovk +1 Дякую, дякую, дуже дякую. "Друге, зроби" зробила трюк. Ще раз дякую тобі чоловіче.
whitesiroi

Це вказувало мені в правильному напрямку, і в моєму випадку все, що я повинен був зробити, - це видалити файл .vagrant / машини / за замовчуванням / virtualbox / private_key, а після запуску бродяги замінив файл на правильний - я б створив резервну копію файл про всяк випадок
andrux

Перший і найважливіший крок - перевірити налаштування BIOS, переконайтесь, що віртуалізація включена.
Бахман.А

83

Ніщо з перерахованого вище не працювало для мене. Якось у вікні був доданий неправильний відкритий ключ у файлі бродячого користувача Authorized_keys .

Якщо ви можете ще ssh на коробці з бродячим паролем (пароль є бродячим), тобто

ssh vagrant@localhost -p 2222

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

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

Закінчивши, вийдіть з VM та повторіть спробу бродячого ssh. Це має працювати зараз.


4
запустити vagrant reloadпісля оновлення файлу санкціонованих_кілей. Vagrant автоматично виявить незахищений ключ і знову створить його для вас. Слід працювати після цього.
ProfileTwist

47

Якщо у вас виникла проблема на бродячому 1.8.5, перевірте цю тему на github:

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

Це, в основному, викликано проблемою дозволу

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

тоді

vagrant reload 

FYI: ця проблема стосується лише CentOS, Ubuntu працює чудово.


Скажімо, у мене є 5 машин для одного бродячого файлу. Кожен раз, коли я повторюю, мені потрібно робити це для кожної машини. Я там виправляю це назавжди для даної бродячої установки за допомогою centos?
Пол

Просто довелося модернізувати vagrant до версії 1.8.6, щоб мати 1.8.5, де виправлена ​​помилка
Pol

42

Виконайте такі команди в гостьовій машині / VM:

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

Тоді робіть бродячі зупинки. Це видалить і відновить ваші приватні ключі.

(Ці кроки припускають, що ви вже створили каталоги ~ / .ssh / і ~ / .ssh / Author_keys під домашньою папкою.)


26

На мій досвід, це було напрочуд частими проблемами нових бродячих машин. Напевно, найпростіший спосіб вирішити це, замість зміни самої конфігурації - створити необхідні ключі ssh вручну на клієнті, а потім використовувати приватний ключ на хості.

  1. Увійдіть до бродячої машини: vagrant sshвикористовуйте пароль за замовчуванням vagrant.
  2. Створіть ключі ssh: наприклад, ssh-keygen -t rsa -b 4096 -C "vagrant"( згідно з відповідним посібником GitHub ).
  3. Перейменувати файл відкритого ключа (за умовчанням id_rsa.pub), скасовуючи старий: mv .ssh/id_rsa.pub .ssh/authorized_keys.
  4. Reload SSH сервіс в разі потреби: sudo service ssh reload.
  5. Скопіюйте файл приватного ключа (за замовчуванням id_rsa) на головну машину: наприклад, використовуйте прекрасну комбінацію кота та буфера обміну cat .ssh/id_rsa, малюйте та копіюйте (кращі способи повинні існувати, ідіть винайдіть один!).
  6. Вихід із бродячого машини: logout.
  7. Знайдіть поточний приватний ключ, який використовує vagrant, переглянувши його конфігурацію: vagrant ssh-config(подивіться, наприклад, ÌdentityFile "/ evidence...Sense/private_key".
  8. Замініть поточний приватний ключ на той, який ви створили на хост-машині: наприклад, nano /[...]/private_keyі вставити з буфера обміну, якщо все інше не вдалося. ( Зверніть увагу , однак, що якщо ваш private_key не конкретний проект , але разом декількох бродячих машинами, то краще налаштувати шлях самостійно, щоб не порушити роботу інших відмінно працюють машини! Зміна шляху так просто , як додати рядок config.ssh.private_key_path = "path/to/private_key"в Vagrantfile. ) Крім того, якщо ви використовуєте машину, створену PuPHPet , ви можете зберігати свій приватний ключ до файлу, puphpet/files/dot/ssh/id_rsaі він буде доданий автоматично до ssh-налаштування Vagrantfile автоматично.
  9. Перевірте налаштування: vagrant sshзараз має працювати.

Якщо це так, привітайте себе, logoutпобіжіть, vagrant provisionякщо потрібно, і продовжуйте значуще завдання.

Якщо ви все ще стикаєтеся з проблемами, може стати в нагоді додати багатослівний прапор до команди ssh, щоб полегшити налагодження. Ви можете передати це (або будь-який інший варіант для цього питання) після подвійного тире. Наприклад, набравши текст vagrant ssh -- -v. Не соромтеся додати стільки v, скільки вам потрібно, кожен дасть вам більше інформації.


Ця відповідь мені допомогла. Просто, щоб поділитися своїм досвідом: Якось (можливо, під час встановлення Capistrano, але це не підтверджено) мій авторизований_key файл був видалений з мого гостя. Відтворивши його за допомогою цих кроків, я працював, і тепер я можу ввімкнути скрипт без запиту пароля. Дякую.
Мартін Столяр

Після видалення обох ключів (державних / приватних) з хост-машини я зміг повторити та вирішити цей процес
vrwired

Використання Git швидше передає вміст цього файлу.
Позика

1
цей працював для мене після всього іншого, що я спробував, не вдалося .. велике спасибі!
nikolas

Це працювало для мене. Єдине, що я робив по-різному - це використовувати ssh vagrant@10.0.0.0 -p 22 (password: vagrant)для входу в VM, оскільки vagrant sshце не працювало для мене. 10.0.0.0це приватна IP-адреса, яку я вказав у своєму vagrantfile.
turrican_34

11

Це також може трапитися, якщо ви намагаєтеся змусити ваш VM використовувати користувач root за замовчуванням для SSH ....

Наприклад, така конфігурація у вашому Vagrantfile може спричинити цю помилку:

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

Рішення: Прокоментуйте ці рядки та повторіть спробу!


2
для мене лише налаштування config.ssh.username = "бродячий" і config.ssh.password = "бродячий" зробив свою
справу

8

Проблема: я отримував помилки аутентифікації ssh, на скриньці, яку я передбачив. Оригінал працював нормально.

Проблема для мене полягала в тому, що мені не вистачало приватного ключа .vagrant/machines/default/virtualbox/private_key. Я скопіював приватний ключ з того самого відносного місця з оригінального поля та Viola!


Я додам, що як будь-який хороший розробник, ми перевіряємо .vagrantфайли в git ... і як такий, швидкий git checkoutзгаданий файл економить день!
Ian Vaughan

8

Я знайшов шлях навколо безладу з клавішами на Win 8.2, де мені не вдалося жодним із методів, згаданих тут. Може бути цікаво, що саме та ж комбінація VirtualBox, Vagrant та коробки працює на Win 7 Ultimate без проблем.

Я перейшов до автентифікації пароля, додавши в команду Vagrantfile такі команди:

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

Зауважте, що я не впевнений, що це єдині необхідні зміни, оскільки я вже зробив:

  1. Я створив нову пару ключів RSA і відповідно змінив файл санкціонованих ключів (все у віртуальній машині, див. Пропозиції вище та в інших місцях)

  2. Я скопіював приватний ключ у той самий каталог, де знаходиться Vagrantfile і додав його

     config.ssh.private_key_path = "./id_rsa"
    

Але я вважаю, що ці зміни були неактуальними. Я витратив багато часу на пробування, тому я не змінив робочу конфігурацію з очевидних причин :)


5

Не вдається запустити бродягу, оскільки він застрягає та час вичерпається?

Нещодавно у мене був "інцидент з водою в ноутбуці", і мені довелося перейти на новий (до речі, на MAC).

Я успішно почав працювати всі свої проекти поруч із тим, який використовував бродячий.

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> 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: hostonly
==> default: Forwarding ports...
    default: 8000 (guest) => 8877 (host) (adapter 1)
    default: 8001 (guest) => 8878 (host) (adapter 1)
    default: 8080 (guest) => 7777 (host) (adapter 1)
    default: 5432 (guest) => 2345 (host) (adapter 1)
    default: 5000 (guest) => 8855 (host) (adapter 1)
    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: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

Він не міг підтвердити автентифікацію, повторився знову і знову і врешті-решт відмовився.

** Ось так я повернув форму у 3 етапи: **

1 - Знайдіть файл IdentityFile, який використовує бродяга: $ vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/ned/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

2 - Перевірте відкритий ключ в IdentityFile: $ ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key Замініть '<user-name>'зі своїм користувачем. Це буде виглядати приблизно так:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==

3 - Увійдіть до бродячої машини з паролем «бродячий»: $ ssh -p 2222 -o UserKnownHostsFile=/dev/null vagrant@127.0.0.1

The authenticity of host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is dc:48:73:c3:18:e4:9d:34:a2:7d:4b:20:6a:e7:3d:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
vagrant@127.0.0.1's password: vagrant
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
...

4 - Додайте відкритий ключ до файлу санкціонованих ключів. $echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa

5 - Вийдіть (crtl + d) і зупиніть бродячий контейнер і поверніть його назад. $ vagrant halt $vagrant up

Сподіваємось, у вас зараз будуть руки в повітрі ...

Я отримав це, лише із незначною поправкою, зі статті Неда Батчелдерса - Нед ти - чемпіон !!


Ви, сер, геній, або Нед Батчелдерс. Так чи інакше, це вирішило мою проблему!
Adsy2010

4

для мене це було вирішено шляхом зміни дозволів на папку .ssh у бродячому домі директора (тобто "~ vagrant / .ssh"). Я думаю, що я зіпсував дозволи, коли я налаштовував ssh-ключі для своєї програми.

Здається, що файл "дозволений_кейс" повинен бути "rw" лише для "бродячого" користувача, так що "chmod 600 дозволених_ ключів"; те саме стосується самого каталогу та його батьківського:

так:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Це було лише після того, як у мене все було відновив ці дозволи, бродячий ssh ​​знову почав працювати.

Я думаю, що це щось стосується безпеки ssh. Він відмовляється розпізнавати сертифікати, якщо вони будь-яким чином доступні поза поточним користувачем, тому спроби бродяг увійти відхиляються.


Іноді я не можу змінитись, просто запускаю sudo chmod 600-дозволені_кільки, але він залишається незмінним. Я думаю, що це має щось робити, і це також ділиться на Windows.
Дарій.V

Іноді це трапляється, якщо каталог знаходиться у спільній доступності, наприклад/vagrant/...
Роберт

1
Окрім своєї відповіді, я хотів би проголосувати за цю відповідь. На іншій моїй машині була саме ця проблема - неправильний власник каталогу /home/vagrant/.ssh. Це було "root: root", але повинно бути "бродячим: бродячим"
Michael

4

Якщо ви використовуєте налаштування SSH за замовчуванням у вашому VagrantFile і почали бачити помилки автентифікації SSH після повторного асоціації вікна VM через збій, спробуйте замінити відкритий ключ у вашій бродячі.

Vagrant замінює відкритий ключ, пов’язаний із небезпечною парою приватних ключів, при кожному виході з міркувань безпеки. Якщо ви неправильно не вимкнули апарат, пара відкритих / приватних ключів може вийти з синхронізації, що призведе до помилки автентифікації SSH.

Щоб вирішити цю проблему, просто завантажте поточний незахищений приватний ключ, а потім скопіюйте пару відкритих ключів у файл дозволеного_кесу вашого VM.


3

Це може бути останньою відповіддю у списку, але це спрацювало на мене, і я не знайшов цієї відповіді ніде, я виявив своє власне почуття після 2-х днів досліджень, тож вам краще спробувати це, якщо досі нічого для вас не працювало.

У моєму випадку проблема виникла з мого VirtualBox. Я не знаю, з якої причини параметр був відключений, і він повинен був бути включений.

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

Як ви бачите на зображенні, з моїм VirtualBox виникли деякі мережеві проблеми, і що мені довелося зробити, щоб виправити цю проблему, це вибрати машину, натиснути налаштування, вкладку мережі і після цього переконатися, що опція Cable Connected було обрано. У моєму випадку ця опція не була обрана, і я не вдався на цьому кроці:

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

Спершу я подумав, що порт вже використовується, після чого перевстановив Vagrant, і я також спробував інші речі, але жоден з них не працював на мене.


3

Це траплялося зі мною кілька разів, і спосіб його вирішення:

  1. Перевірте і переконайтеся, що у вашому Vagrantfile є правильний шлях приватного ключа:

    config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"

  2. Виконати команду vagrant ssh в терміналі Linux

  3. На вашому бродячому автоматі перейдіть до

    cd /home/vagrant/.ssh

і перевірте, чи ключ ssh у файлі санкціонованих_кейсів той самий, як у вашої локальної машини в ~ / .ssh / id_rsa.pub. Якщо не замінити той, який у ваших бродячих авторизованих ключів, на той, що знаходиться на локальній машині, знайдений у ~ / .ssh / id_rsa.pub.

  1. Перезавантажити Vagrant:

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

Сподіваюсь, це допомагає комусь іншому. Ура!


У мене немає папки ~ / .ssh, то що мені робити ??
Ashish Karpe

@AshishKarpe створіть його з дозволом 700 та створіть authorized_keysфайл із 600 дозволом всередині.
хоган

3

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
Описувану проблему я мав стільки разів, як правило, після упаковки та відновлення коробки Vagrant. Що працювало для мене, це додавання наступної конфігурації для того, щоб доручити Вагранту вставити його відкритий ключ у ВМ: config.ssh.username = "vagrant"; config.ssh.password = "vagrant"; config.ssh.insert_key = trueАле цього разу вищевказана конфігурація нічого не зробила. Я не знаю чому, спробував налагодити, чому ключ не вставлений без удачі. Тож я піддався вашому рішенню і вуаля! Це працює!
stz184

2

Рішення для Mac:

  1. До закритого приватного ключа доданий локальний ключ ssh id_rsa

    vi /Users//.vagrant/machines/default/virtualbox/private_key

    /Users//.ssh/id_rsa

  2. скопійовано відкритий ключ /Users//.ssh/id_rsa.pub на поле для бродячих авторизованих_кілей

ssh vagrant@localhost -p 2222 (пароль: бродячий) ls -la cd .ssh

  1. chmod 0600 ~/.ssh/authorized_keys

  2. vagrant reload

Проблема вирішена.

Завдяки


1

також не змогли вийти за межі:

за замовчуванням: метод auth SSH: приватний ключ

Коли я використовував графічний інтерфейс VirtualBox, він сказав мені, що існує невідповідність процесора ОС.

Щоб продовжувати прогресувати далі, у налаштуваннях BIOS мені довелося протидіяти інтуїтивно:

Вимкнути: віртуалізація

Увімкнено: VT-X

Спробуйте переключити ці налаштування у вашій BIOS.


1

Перш за все, слід видалити автоматично створений файл insecure_private_key, а потім відновити цей файл, ввівши

vagrant ssh-config

тоді

vagrant halt
vagrant up

Це має працювати


Я спробував це, але все-таки отримую помилку, це тому, що я використовую Ubuntu Virtual Box VM всередині, що я намагаюся блукати?
Ashish Karpe

#vagrant up Приведення машини 'за замовчуванням' з 'virtualbox' постачальника ... ==> за замовчуванням: Очищення будь-яких раніше встановлених переадресованих портів ... ==> за замовчуванням: Очищення будь-яких раніше встановлених мережевих інтерфейсів ... ==> за замовчуванням: Підготовка мережевих інтерфейсів на основі конфігурації ... за замовчуванням: адаптер 1: nat ==> за замовчуванням: переадресація портів ... за замовчуванням: 22 (гість) => 2222 (хост) (адаптер 1) ==> за замовчуванням: завантаження VM .. . ==> за замовчуванням: очікування завантаження машини. Це може зайняти кілька хвилин ... за замовчуванням: SSH-адреса: 127.0.0.1:2222 за замовчуванням: SSH ім'я користувача: vagrant за замовчуванням: SSH метод авт: приватний ключ
Ashish Karpe

1

Я вирішив це питання наступним чином. 1. Створіть новий ключ SSH за допомогою Git Bash

$ ssh-keygen -t rsa -b 4096 -C "vagrant@localhost"
# Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.
  1. Коли вам буде запропоновано "Введіть файл, в якому потрібно зберегти ключ", натисніть Enter. Це приймає розташування файлів за замовчуванням.

    Введіть файл, у якому потрібно зберегти ключ (/Users/ evidenceyouSense/.ssh/id_rsa): [Натисніть Enter]

  2. У запиті введіть захищену парольну фразу. Ви можете залишити порожнім і натиснути клавішу Enter, якщо вам не потрібна парольна фраза.

    Введіть файл, у якому потрібно зберегти ключ (/Users/ evidenceyouSense/.ssh/id_rsa): [Натисніть Enter]

  3. Щоб підключитися до вашого Vagrant VM, введіть наступну команду

    ssh vagrant @ localhost -p 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. Тепер встановити тип з'єднання SSH: $ vagrant ssh

  2. Скопіюйте відкритий ключ хоста у файл санкціонованих_кілей у Vagrant VM. Для цього перейдіть у папку «Користувачі / [ви] /. Ssh» та скопіюйте вміст у файл id_rsa.pub на хост-машині та минулий у файл «~ / .ssh / санкціонований_кіс» у програмі Vagrant VM.

  3. Змініть дозвіл на папку SSH та файл санкціонованих ключів у програмі Vagrant VM
  4. Перезапустіть vagrant за допомогою: $ vagrant reload

0

Я запустив машину, потім:

vagrant ssh-config

Я отримав таке:

Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL

Тоді я побіг

cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa

Машина завантажується звідси

  • El Capitan 10.11.1 Beta (15B38b)
  • Віртуальна коробка 5.0.8 r103449
  • Бродячий 1.7.4

0

Між усіма відповідями тут можна спробувати багато хорошого. Для повноти, якщо ви

ssh vagrant@localhost -p 2222

як пропонує @Bizmate, і це не вдається, будьте впевнені

AllowUsers vagrant

у /etc/ssh/sshd_configвашому гостьовому / бродячому автоматі.


0

Я використовую Vagrant з налаштуванням Puphpet з травня 2015 року, і у мене була ця проблема. Здається, що створена конфігурація не обробляла поведінку Vagrant 1.7.4 (а може трохи раніше?) Регенерувати ключі ssh, якщо він виявляв незахищений ключ.

Я вирішив це, додавши наступне в мій сформований Puphpet Vagrantfile (локальна установка) всередині пункту "if File.file? (CustomKey)":

config.ssh.insert_key = false

Довідкова комісія


0

Це всі правильні кроки, які я дотримувався, щоб виправити цю проблему нижче, сталися під час запуску бродячої команди.

Це кроки, які я виконував

  1. створити папку. наприклад F: \ проекти
  2. Відкрийте цю папку в git bash і запустіть цю команду ssh-keygen -t rsa -b 4096 -C "your_email@example.com" (введіть дійсну адресу електронної пошти)
  3. Потім генерується пара ключів у двох окремих файлах у папці проекту. наприклад проект (файл приватного ключа), project.pub (файл відкритого ключа)
  4. Перейдіть до цього місця C: \ Users \ acer.vagrant.d і знайдіть файл insecure_private_key
  5. Отримайте резервну копію файлу та скопіюйте вміст новоствореного приватного ключа та вставте його у файл незахищеного_приватного ключа. Потім скопіюйте insecure_private_key і вставте його також у це місце.
  6. Тепер бродять у своєму проекті. після генерування вище випуску введіть vagrant ssh і перейдіть всередину, вказавши ім'я користувача, пароль. (за замовчуванням ім'я користувача та пароль встановлено як бродячий)
  7. Зайдіть всередину цього місця cd /home/vagrant/.ssh та введіть mv санкціонований_кейс_позволений_keys_bk
  8. Потім введіть ls -al і введіть viзворені_кількі vi для відкритого редактора файлів-авторизованих файлів.
  9. Відкрийте створений відкритий ключ із блокнота ++ (project.pub) та скопіюйте вміст. Потім натисніть i на git bash, щоб увімкнути режим вставлення у редактор vi, клацніть правою кнопкою миші та вставте. Після натискання клавіші Escape вийти з режиму вставки
  10. : wq! для збереження файлу та введіть ls -al
  11. Тоді дозволи встановлюються як нижче, не потрібно змінювати drwx ------. 2 бродячий бродячий 4096 лютого 13 15:33. drwx ------. 4 бродячий бродячий 4096 лютого 13 14:04 .. -rw -------. 1 бродячий бродячий 743 13 лютого 14:26 дозволено_кільки -rw -------. 1 корінь кореня 409 13 лютого 13:57 дозволено_keys_bk -rw -------. 1 бродячий бродячий 409 2 січня 23:09 санкціонований_кейс_оригініальний Інакше введіть chmod 600 санкціонованих_кілів та введіть цю команду надто чудо-бродячого: vagrant-дозволений_кейс
  12. Нарешті запустіть бродяжну зупинку і знову бродять.

************************ ЦЕ РОБОТА ДЛЯ МНЕ ******************** ***********


0

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

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

sudo chown -R vagrant:vagrant /home/vagrant

Тоді ви зможете знову увійти, не вводячи пароль.

TL; DR: дозволи у вашій домашній папці для бродяж є неправильними.


0

Простий:

homestead destroy
homestead up

Редагувати (не так просто, як перша думка):

Проблема полягала в тому, що нові версії використання садиби php7.0та деякі інші речі. Щоб уникнути цього зіпсуєте переконайтеся , що ви встановите verisonв Homestead.yml:

version: "0"

0

Я вирішив цю проблему, виконавши команди на Windows 7 CMD, як зазначено в цьому ось посилання останнього допису в цій темі,

https://github.com/mitchellh/vagrant/isissue/6744

Some commands that will reinitialize various network states:
Reset WINSOCK entries to installation defaults : netsh winsock reset catalog
Reset TCP/IP stack to installation defaults : netsh int ip reset reset.log
Flush DNS resolver cache : ipconfig /flushdns
Renew DNS client registration and refresh DHCP leases : ipconfig /registerdns
Flush routing table : route /f

0

Останні пару днів я бив головою про це на перепакованій базовій коробці. (Mac OS X, El Capitan)

Після процедури @Radek я зробив 'vagrant ssh-config' у вихідному полі та отримав:

...
/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key
...

На новій копії ця команда дала мені:

...
IdentityFile /Users/<username>/.vagrant.d/insecure_private_key
...

Отже, я щойно додав цей рядок у новій копії:

...
config.ssh.private_key_path = "/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key"
...

Не ідеально, але я можу продовжувати своє життя.


0

Ще одне просте рішення у Windows: перейдіть до файлу Homestead / Vagrantfile і додайте ці рядки для з'єднання з іменем користувача / паролем замість приватного ключа:

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

Отже, нарешті частина файлу буде виглядати приблизно так:

if File.exists? homesteadYamlPath then
    settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exists? homesteadJsonPath then
    settings = JSON.parse(File.read(homesteadJsonPath))
end

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

Homestead.configure(config, settings)

if File.exists? afterScriptPath then
    config.vm.provision "shell", path: afterScriptPath, privileged: false
end

Сподіваюся, що ця допомога ..


0

Я спробував це на своїй машині VM

змінити дозволи / home / vagrant (зробив chmod 700 на ньому)

тепер я можу потрапити прямо в свої скриньки

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.