Туннелирование Vagrant SSH после использования `vagrant ssh`

Мой клиент MySQL (Sequel Pro) настроен на подключение к Vagrant через SSH. Я установил следующее в своем файле ~/.ssh/config:

Host vagrant
  HostName 127.0.0.1
  CheckHostIP no
  Port 2222
  User vagrant
  IdentityFile ~/.vagrant.d/insecure_private_key

Все работает нормально, если я не запускал vagrant ssh. Но как только я вошел в окно Vagrant с помощью этой команды, Sequel Pro больше не может подключаться через SSH — он просто говорит: «Туннель SSH неожиданно закрылся». Поэтому мне нужно запустить vagrant reload, прежде чем я смогу подключиться к серверу MySQL.

Кто-нибудь знает, как обойти эту проблему?


person Small Hadron Collider    schedule 12.03.2014    source источник
comment
Ваши вопросы сотворили со мной чудеса при переадресации порта 9001 изнутри бродяги обратно на мою локальную машину по адресу 127.0.0.1 и порт 9002, например ssh -L 9002:127.0.0.1:9001 vagrant   -  person jmunsch    schedule 12.03.2019


Ответы (5)


У меня была такая же проблема, и это оказался старый ключ в моем файле known_hosts.

Так я и сделал:

$ vi ~/.ssh/known_hosts

перешел к строке с 127.0.0.1:2200, затем сделал команду dd, чтобы удалить эту строку.
:x, чтобы сохранить, и бац, твой дядя Боба. Связь разрешена, да здравствует Джамби.

Я надеюсь, что это избавит кого-то от горя. Ваше здоровье.

person Ian Ring    schedule 14.11.2014
comment
Это помогло мне! Спасибо! Также обратите внимание, что если в вашем vagrantfile указан IP-адрес :private_network, вам также придется удалить эту строку из known_hosts. Бам Боб твой дядя - обожаю это. хаха. - person ctlockey; 28.04.2016
comment
Голосуйте только за упоминание моего дяди. Он будет доволен. :) - person Jack_Hu; 22.09.2018

Я решил эту проблему, используя переадресацию портов вместо туннелирования SSH. Я добавил следующее к Vagrantfile:

config.vm.network :forwarded_port, guest: 3306, host: 8306

Затем подключился к MySQL через порт 8306.

person Small Hadron Collider    schedule 24.03.2014
comment
Это было единственное решение, которое сработало для меня на Mac под управлением el capitan. Я добавил разрешения для mysql; удалена запись known_hosts для 127.0.0.1 + добавлена ​​заново; отредактировал файл my.cnf, чтобы внести различные изменения и т. д. и т. д. Важно отметить, что это кажется правильным решением. - person wired00; 26.04.2016

У меня была аналогичная проблема. Я боролся целый день. Я даже прошел Vagrant и Sequel Pro Джеффри Уэя. Еще была проблема. Я даже изменил номер порта переадресации в файле Vagrant и сделал все возможное. Но следующее спасло мне жизнь.

Когда я сделал бродячую перезагрузку, чем я видел

  default: 22 => 2200 (adapter 1)

Но то, что я делал, это то, что при настройке соединения в сиквеле про я написал SSH PORT: 2222 Я сделал это на основе видео из приведенной выше ссылки. Но как только я перешел на номер, который я видел с vagrant reload, он попросил меня подтвердить. Я выбрал «ДА». И это действительно было связано. Счастливый конец после дня борьбы. Это для будущих читателей, надеюсь, кому-то где-то не придется провести день, как мне, по этой причине. ;)

person score    schedule 24.05.2014
comment
По какой-то причине я установил его на порт 2222, я заметил, что в файле config.yaml он указывал на 22, я изменил его на порт 22 в настройках моего сиквела, а затем установил его в свой файл private_key в .vagrant/machines /default/virtualbox/ папка - person Brad; 27.05.2015

Попробуйте загрузить другой ключ из папки с бродячим проектом
Например. {vagrant_project}/.vagrant/machines/default/virtualbox/private_key

person bbaf    schedule 07.04.2015

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

  • «insecure_private_key» используется только при первом открытии окна. Если вы не отключили эту функцию (insert_key=false), vagrant заменит этот ключ случайно сгенерированным, хранящимся в .vagrant/machines/{machinename}/{providername}/private_key.

    Вы можете использовать этот ключ в своем ssh_config

  • Ваши настройки MySQL делают что-то другое, если соединение происходит с локального хоста, а не с «внешнего» IP-адреса.

person Chris Cogdon    schedule 16.05.2016