Вопрос по git – Как использовать SSH туннель для пересылки протокола git? [закрыто]

2

Я знаю, что подобные вопросы задавались много раз. Но все, что я могу найти, это ответы о том, как настроить прокси для протоколов http или ssh. Здесь ситуация. По какой-то причине репозиторий git для gitorious, который мне нужен для клонирования, не поддерживает http или ssh. Когда я использую "git clone"http://gitorious.org/.... & Quot; Я получил & quot; ... / refs not found: вы запускали на сервере git update-server-info? & Quot; ошибка. Если я использую "git clone ssh: //[email protected]/..." ;, я получаю" смертельный исход: удаленный конец неожиданно зависает " ошибка. (вероятно, я должен обвинить android "repo" в этом, потому что я могу сделать git clone напрямую, но не через "repo sync"). (Все вышеперечисленные тесты выполняются без брандмауэра.)

Поэтому мой вопрос заключается в том, как настроить туннель SSH для использования протокола git за брандмауэром. В частности, мне нужно сделать "git clone git: //gitorious.org/..."" (не ssh: //, а не http: //) за брандмауэром. Спасибо!

Ваш Ответ

1   ответ
3

git:// протокол работает на порту 9418 (задокументировано вgit-daemon man-страница или запуститьgit daemon --help). Чтобы переслать это через туннель SSH, вы должны сделать что-то вроде этого:

После подключения вы клонируете удаленный репозиторий следующим образом:

git clone git://localhost/path/to/repository.git

Для того чтобы это работало, вам, очевидно, нужен компьютер за пределами вашего брандмауэра, который будет целью команды ssh.

Более того, вы можете поместить "127.0.0.1 gitorious.org" в / etc / hosts. Затем вы можете выполнить git clone для & quot; git: //gitorious.org/" вместо "git: // localhost /" с туннелем ssh. Конечно, этот метод оказывает влияние на всю систему и должен использоваться с осторожностью. ddwalker
Можете ли вы привести примерgit://localhost/path/to/repository.git возможно, с обычным репо, как jquery?
Спасибо за ответ. Это сработало. ddwalker
Хранилище jquery - это git: //github.com/jquery/jquery.git. Таким образом, используя вышеуказанную конфигурацию, вы должны использовать git: //localhost/jquery/jquery.git, предполагая, что вы локально организовали порт 9418 для пересылки на github.

Похожие вопросы