Cómo configurar Git para pasar a través de un proxy

Quiero conectarme a GitHub en el trabajo y necesito pasar por el proxy HTTP. Puedo salir de FTP usando cURL usando el command

curl -v -g --ftp-pasv --upload-file MYFILE --proxy PROXYADDRESS:PROXYPORT --proxy-ntlm --proxy-user WINDOWSDOMAIN\WINDOWSUSER:WINDOWSPASSWORD ftp://FTPUSER:FTPPASS@FTPURL/

Hasta ahora no he podido proporcionar configuraciones equivalentes para Git.

Intenté seguir las instrucciones sobre el uso de Github a través de Draconian Proxies bajo cygwin.

Tengo sacacorchos instalado e intentado SSH a GitHub

 ssh github.com 

o

 ssh ssh.github.com 

Vuelvo

ssh: no se pudo resolver el nombre de host ssh.github.com: nombre de host ni nombre de service proporcionado, o desconocido.

Intenté configurar el proxy http y https.

Aquí está la salida de git –config -l

 core.symlinks=false core.autocrlf=true color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=C:/Program Files/Git/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain user.name=Peter Wilkinson user.email=someemail@gmail.com github.user=ProggerPete github.token=shouldprobablykeepthissecret http.proxy=http://somedomain\someuser:somepass@10.167.116.142:80 https.proxy=http://somedomain\someuser:somepass@10.167.116.142:80 

También corrí

 export https_proxy=http://somedomain\someuser:somepass@10.167.116.142:80 export http_proxy=http://somedomain\someuser:somepass@10.167.116.142:80 set https_proxy=http://somedomain\someuser:somepass@10.167.116.142:80 set http_proxy=http://somedomain\someuser:somepass@10.167.116.142:80 

Luego trato de clonar y get.

 $ git clone https://ProggerPete@github.com/project/JavaScript-Maven-Plugin.git Cloning into JavaScript-Maven-Plugin... Password: error: The requested URL returned error: 407 while accessing https://ProggerPet @github.com/project/JavaScript-Maven-Plugin.git/info/refs fatal: HTTP request failed 

Esto me parece que estoy fallando la authentication con el proxy. Sin embargo, estoy usando el mismo nombre de usuario y contraseña que funciona para FTP a través de cURL.

¿Cómo puedo conectarme?

Después de muchas críticas, finalmente me topé con http://cntlm.sourceforge.net/ . Es un proxy proxy que entiende la authentication ntlm.

Lo instalé y le conté sobre el proxy http. Luego señaló git en CNTLM y todo comenzó a funcionar.

Descubrí que esto es muy frustrante, así que con suerte esto ayudará a otra persona en la misma situación.

Por lo general, solo necesito configurar:

 set http_proxy=http://<login_internet>:<password_internet>@aproxy:aport set https_proxy=http://<login_internet>:<password_internet>@aproxy:aport 

(tenga en count que https_proxy hace reference a la misma dirección http , no https, proxy)

Ver también " No se puede hacer que Http on git funcione ".

Puede poner información de proxy en su ~ / .curlrc:

/home/usr/.curlrc

proxy = proxy.proxyhost.com:8443
proxy-usuario = usuario: pase
proxy-ntlm = true
noproxy = localhost, 127.0.0.1, intraweb.company.com

Es poco probable que pueda get ssh a github tunnelled a través de su proxy. Sin embargo, como github proporciona URL https para todos sus repositorys y puede presionar para que no necesite ssh. Si ya tiene un repository desprotegido, puede cambiar la URL utilizada con

 git remote set-url origin https://github.com/project/repo.git git remote set-url --push origin https://YOURNAME@github.com/project/repo.git 

(omita la segunda línea si no necesita acceso de inserción). Esto, junto con la configuration de las variables de entorno (https_proxy) mencionadas por VonC, permitirá el acceso a través de su proxy.