У меня есть доступ к серверу A через ssh, а с сервера A можно получить доступ к серверу B, который запускает gitlabs и содержит репозиторий, к которому мне нужен доступ. Когда я ssh'd на сервере A, я могу успешно запустить git clone http://serverB/path/to/repo.git
. Использование ssh://
или git://
вместо http://
не работает. (Ошибки «не похоже на git-репозиторий» и "невозможно подключиться к serverB" соответственно.)
Если я настрою туннель так:
ssh username@serverA -L 3333:serverB:80 -N
Следующие две попытки клонов git не удаются:
git clone http://localhost:3333/path/to/repo.git
Сбой с: "роковым: хранилище не найдено"
git clone localhost:3333/path/to/repo.git
Запрашивает у меня пароль для serverB, а затем выдает сообщение «fatal: 3333/path/to/repo.git не является git-репозиторием». Конечно нет! Моя попытка указать localhost, порт 3333, явно интерпретируется как относительный путь на serverB.
Есть ли способ это исправить? Что-то в корне не так с этим подходом?