как настроить систему на использование git через обратный туннель / прокси ssh?

#git #ssh #proxy #ssh-tunnel

#git #ssh #прокси #ssh-туннель

Вопрос:

Среда: мой локальный хост имеет доступ к моей VPN. Моему удаленному хосту необходимо получить доступ к VPN через мой локальный хост. Я могу использовать ssh только с локального хоста на удаленный. Я настроил туннель для доступа к оболочке на моем удаленном хостинге.

У меня есть настройка ssh с локального хоста на удаленный хост с использованием ключей и без запроса пароля.

Это позволяет мне запускать VNC с локального хоста для доступа к моему удаленному хосту.

Проблема: на моем удаленном хостинге есть репозитории git, которые необходимо обновить, но через VPN локального хоста. т.Е. Когда я выполняю на удаленном хосте git pull команду a, он получит доступ к репозиторию VPN git через туннель, созданный с локального хоста.

Я читал о ssh -R том, что в ssh .config есть ProxyCommand, но в целом это беспорядок.

Ответ №1:

Вы могли бы использовать RemoteForward опцию в своем .ssh/config

 HOST remoteHost
   hostname remotehost.somewhere.com
   user <username>
   RemoteForward 127.0.0.1:2022 <VPN-GitHost>:22
 

Это публикует порт 22 из вашей VPN на ваш удаленный хост, но изменяет номер порта на 2022.

На вашем удаленном хосте вы можете использовать этот порт через ssh (а также git), например

 ssh myuser@localhost -p 2022
 

Или отредактируйте файл .ssh/config на удаленном хосте

 HOST VPN-gitHost
   hostname localhost
   port 2022
 

Тогда ваш git pull должен работать без каких-либо изменений

Комментарии:

1. джеб, это сработало! Спасибо и за объяснение. Мне предлагается ввести мою парольную фразу, когда я нажимаю сейчас. Директива IdentityFile с и без ForwardAgent не работает. Это последняя часть моей головоломки.

2. Все работает с ForwardAgent, используемым в конфигурации на localhost.

3. @Harry Для другого вопроса вы должны задать новый. Раздел комментариев для этого не подходит