Использование Gitlab через SSH-туннель - PullRequest
0 голосов

Ситуация:

Я работаю с машины1, где у меня есть root-доступ. С machine1 я могу получить доступ к machine2 (где я пользователь без привилегий) через ssh. machine3 (также пользователь без привилегий) не доступен напрямую с machine1. Мне нужно использовать SSH-соединение с machine2 для доступа к machine3. Вкратце: машина1 может подключиться к машине ssh, но не к машине3. machine2 может подключиться по ssh к machine3.

Я хочу использовать gitlab на machine3, но не могу. Если я пытаюсь клонировать свой репозиторий, у меня есть это:

Initialized empty Git repository in /path/nameOfRepository/.git/
ssh: gitlab.lmps.ru: Temporary failure in name resolution
fatal: The remote end hung up unexpectedly

На самом деле, если я пытаюсь пинговать google.com на машине3, у меня это:

ping: unknown host google.com

Итак, естьвероятно нет подключения к интернету на машине3. Но у меня есть подключение к Интернету на machine2, но на machine2 нет git.

Я хочу использовать git (клон и push to gitlab) на machine3 через machine2, которая имеет подключение к Интернету.

Есть много руководств по этой проблеме, но я начинающий пользователь SSH и linux и не могу с этим справиться.

Наконец: у меня есть репозиторий на gitlab и я хочуиспользовать его на machine3 через machine2.

PS Извините за мой английский.

1 Ответ

0 голосов
/ 12 октября 2019

Установите прокси-сервер, например apache squid, на машине 2, запустите его на открытом порту по умолчанию 3128, настройте конфигурацию в файле конфигурации, например, запишите IP-адрес компьютера 3 в качестве принимающего источника.

Перейти к машине3 и установите прокси-адрес машины 2 с ее портом. Например, установка переменных http_proxy и https_proxy env.

Это пример возможного решения вашей проблемы, если у вас нет других ограничений. Если у вас есть вопросы, просто Google вокруг этой концепции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...