Я пытаюсь использовать ssh перенаправление портов для нанесения поражения корпоративному брандмауэру:
ssh git@GIT_SERVER -L9418:GIT_SERVER:9418
и в другом терминале я работаю
git clone git://localhost:repositories/project.git
Но я получаю следующую ошибку:
Инициализированный пустой репозиторий Мерзавца в/Users/aboxer/tmp/glucosia/.git/
фатальный: Не мог искать localhost (репозитории порта) (nodename, ни servname, если, или не известный)
Спасибо!
Я почти уверен, что ваша проблема (или, по крайней мере, та, которая вызывает данную ошибку) здесь:
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
Изменить:
Я, наверное, должен был сказать это с самого начала, но на самом деле я не могу придумать причину, по которой вам нужно использовать 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