Локальный компьютер Vagrant установлен на IP-адрес 10.0.0.23
с именем хоста lamp-vm
.
Используя vagrant ssh
команду, я могу нормально подключиться и сделать все, что мне нужно.
Это создает ошибку
$ ssh vagrant @ lamp-vm -v -v
debug1: подключение к адресу 10.0.0.23 порт 22: истекло время ожидания соединения
ssh: соединение с портом host-vm хоста 22: время ожидания истекло
Мой /etc/hosts
файл содержит 10.0.0.23 lamp-vm
.
Мой файл .ssh / config выглядит так
Host lamp-vm
Пользователь vagrant
IdentityFile ~ / .ssh / vagrant
Я пробовал команду ssh с и без -i /path/to/.sh/identity_file
.
Как мне подключиться к моей виртуальной машине Vagrant, используя SSH?
ssh -p 2222 vagrant@localhost
) не будет затронуто этим.Он старый, но ответа нет, я его предоставлю. Команда:
Является эквивалентом
Это поведение по умолчанию, если вы что-то изменили, измените команду соответствующим образом. Прежде всего, Vagrant создаст vagrant пользователя на вашем гостевом ящике, и вы будете использовать этого пользователя в ssh. Как говорили предыдущие люди, он будет перенаправлять трафик с порта 2222 на вашем хосте на порт 22 на вашем госте по умолчанию (когда вы используете vagrant up, вы видите, что это сообщение отображается). И, наконец, Vagrant создает ключи для ssh-сессии, поэтому вам не нужно этого делать, поэтому вам нужно предоставить открытый ключ в качестве аргумента при подключении через ssh.
источник
Такое поведение является особенностью.
Vagrant использует режим VirtualBox NAT, что означает использование переадресации портов.
Вы не можете SSH напрямую к вашей виртуальной машине, используя режим NAT.
Использование vagrant ssh означает, что vagrant сделает переадресацию портов за вас, поэтому вам не нужно об этом беспокоиться. Я думаю, что он будет подключаться к localhost через порт 2222 по умолчанию, но он также попытается разобраться в любых коллизиях номеров портов.
Если вам нужен SSH напрямую к вашей виртуальной машине, переключите виртуальную машину в режим только хоста или сетевого моста.
источник
Я бы добавил это как комментарий, но в настоящее время у меня недостаточно представителей для этого. Я написал инструкции по установке вашей виртуальной машины в мостовой режим:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
Я надеюсь, что вы найдете это полезным!
источник
Windows / Vagrant / Ubuntu
Это то, что сработало для меня, и вы можете быстро выяснить, сработает ли это, запустив это на клиенте ssh.
ssh vagrant@127.0.0.1 -p 2222 -v
-V переведет его в подробный режим и отобразит отладочную информацию ...
Итак ... SSH2_MSG_KEXINIT означает, что ключи обмениваются. Это вскоре терпит неудачу ...
В этом случае я удалил свои ключи и восстановил их, выполнив это на ВМ. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ Ls -al / и т.д. / SSH / SSH ключ
$ Sudo гт -r / и т.д. / SSH / SSH ключ
$ Sudo Dpkg-перенастроить OpenSSH-сервер
Как только мои ключи были регенерированы, я смог войти в мою Vagrant Box.
источник
Уничтожил виртуальную машину
Перезагрузил виртуальную машину
Все заработало
Не уверен, почему, но, очевидно, что-то не загружается должным образом при первом обеспечении.
источник
Проверьте этот комментарий: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
По сути, даже при использовании частных сетей vagrant по-прежнему работает с ssh на 127.0.0.1. Попробуйте эту команду ssh @ 127.0.0.1 вместо вашего личного ip / hostname.
источник