нужно использовать git за брандмауэром: пробовать туннелирование по ssh - PullRequest
7 голосов
/ 28 марта 2010

Я пытаюсь использовать переадресацию портов ssh для победы над корпоративным брандмауэром:

ssh git@GIT_SERVER -L9418:GIT_SERVER:9418

и в другом терминале я запускаю

git clone git://localhost:repositories/project.git

Но я получаю следующую ошибку:

Инициализированный пустой Git-репозиторий в /Users/aboxer/tmp/glucosia/.git/

fatal: невозможно найти localhost (репозитории портов) (имя узла или имя сервера указаны или неизвестны)

Спасибо!

Ответы [ 4 ]

7 голосов
/ 28 марта 2010

Я почти уверен, что ваша проблема (или, по крайней мере, та, которая вызывает эту конкретную ошибку) здесь:

git clone git://localhost:repositories/project.git

Если вы посмотрите на список обозначений URL в man git push, вы увидите соответствующий пример:

git://host.xz[:port]/path/to/repo.git/

С двоеточием вы используете "хранилища" в качестве имени порта, и git (понятно) испытывает проблемы с подключением к хранилищам портов на локальном хосте! То, что вы ищете:

git://localhost/path/to/repositories/project.git

или, возможно,

git://localhost/~user/repositories/project.git

Edit:

Я, наверное, должен был сказать это с самого начала, но я не могу придумать причину, по которой вам нужно было бы использовать SSH-туннелирование с git. Транспортный протокол по умолчанию - ssh; протокол git действительно присутствует только для того, чтобы позволить извлекать публичные репозитории без учетной записи. Если вы можете подключиться по SSH к компьютеру, на котором находится хранилище, вы можете просто получить его по ssh:

git clone ssh://[user@]host.xz/path/to/repo.git
git clone ssh://[user@]host.xz/~/path/to/repo.git
git clone ssh://[user@]host.xz/~user/path/to/repo.git
6 голосов
/ 18 декабря 2010

Я написал полный ответ / руководство здесь: http://vladzloteanu.wordpress.com/2010/12/18/git-through-ssh-port-forwarding-ssh-tunneling/.

0 голосов
/ 28 июля 2016

Вот шаги, которые работали для меня. Моя система находится за брандмауэром компании и присоединена к домену:

  • Первый npm должен быть установлен
  • Fiddler также должен быть в рабочем режиме. Fiddler должен работать с опцией «Автоматически проверять подлинность» в «Правилах», включенной
  • Установить Git с помощью команды:

npm install git

  • Обновление протокола с git на https:

git config --global url. https://github.com/.insteadOf git: //github.com/

0 голосов
/ 06 ноября 2013

Краткая версия ответа Влада Злотяну:

Настройка туннеля:

ssh ServerWithSSHAccessAddress -L 2000:GitServerAddress:22 -N , &

Клон репо

git clone ssh://user@localhost:2000/my_repo.git
...