Я пытаюсь получить доступ к репозиторию на Github с компьютера Windows, который находится за прокси-сервером, требующим аутентификации NTLM. Ни SSH, ни протокол git: // напрямую не доступны, поэтому я пытаюсь заставить эту работу работать с HTTPS через прокси.
С помощью прокси NTLM без пароля? мне удалось создать двоичный файл curl
, поставляемый с msysgit поиграйте с прокси:
curl -U : --proxy-ntlm --proxy xxx.xxx.xx.xx:8080 https://github.com
Это успешно и возвращает домашнюю страницу Github.
Однако я нашел статью Git за февраль 2010 г., в которой говорится (выделено мной ):
К сожалению, похоже, что curl всегда будет использовать обычную проверку подлинности с прокси. Если вашему прокси-серверу требуется что-то еще, например NTLM для сети Windows, то у вас проблема. Curl используется для обработки всех деталей транспорта http, и он поддерживает метод проверки подлинности NTLM, но я не знаю способа передать необходимые параметры в curl. Git использует curl через привязку к библиотеке, поэтому недостаточно просто заменить исполняемый файл curl сценарием-оболочкой.
Я знаю о параметре core.gitproxy
в конфигурации Git, но, похоже, он применим только к протоколу git: //. Точно так же опция http.proxy
устанавливает адрес прокси, но не дает возможности указать соответствующие параметры для curl.
github.com
на ваш собственный компьютер и заставить его действовать как прозрачный прокси-сервер, который затем перенаправляет на прокси-сервер NTLM с использованием надлежащей аутентификации. Но к этому времени будет проще просто настроить VPN и направлять через него трафик на github.com. - person Artefacto   schedule 21.02.2011curl_easy_setopt(handle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM)
вместе с другими обычными вариантами аутентификации прокси (CURLOPT_PROXY
,CURLOPT_PROXY_TYPE
иCURLOPT_PROXYUSERPWD
). - person Artefacto   schedule 21.02.2011