Я пытаюсь Vagrant-ифицировать проект, чтобы упростить настройку зависимостей для моих пользователей. Одна из зависимостей — это туннель SSH, от порта A на хосте B до порта C, с использованием -L
опции ssh.
Я могу успешно использовать команду туннелирования ssh -L <A>:<B>:<C>
на моем хост-компьютере и хотел бы иметь возможность делать это в виртуальной машине Vagrant.
Я уже успешно настроил Vagrant для переадресации агента ssh, чтобы использовать ключи ssh хоста для аутентификации в закрытых репозиториях git. Но здесь я достиг конца своих знаний ssh и Vagrant, когда дело доходит до переадресации туннеля агентом. Возможно ли это вообще?
решение1
Оказалось, что ключи пересылались, но ssh использовал vagrant
имя пользователя вместо имени пользователя хоста. Когда я исправил имя пользователя, туннелирование ssh заработало в Vagrant.
решение2
Вы не сообщаете, следует ли создавать туннель от хоста к гостю или наоборот, где он находится B
и почему вы не можете получить к нему прямой доступ...
Если вы хотите создать туннель от некоторых интерфейсов хоста к гостевому, вы можете использовать встроенную функцию VagrantПеренаправление порта. Или просто добавьтечастный сетевой адреск ВМ.
Если вы хотите получить туннель от гостя через хост, используйте ssh -R
вместо ssh -L
from the host. Но в большинстве случаев вы можете просто подключиться к месту назначения напрямую из виртуальной машины.