tag - Conseguir que git funcione con un servidor proxy
git remove tag (17)
Además de estas respuestas, encontré útil considerar estos 2 puntos:
Uno puede necesitar hacer cumplir un esquema de autenticación:
[http]
# https://github.com/git/git/blob/master/Documentation/config.txt
proxyAuthMethod = anyauth|basic|digest|negotiate|ntlm
Además, normalmente con el esquema de autenticación NTLM, es posible que sea necesario proporcionar explícitamente el dominio AD.
En Git Bash:
echo %userdomain%
Y actualice el http.proxy en consecuencia:
git config --global http.proxy http://DOMAIN//proxyuser:[email protected]:8080
De todos modos, la investigación se puede ayudar agregando registros de CURL:
export GIT_CURL_VERBOSE=1
¿Cómo consigo que git use un servidor proxy?
Necesito revisar el código de un servidor git, muestra "Tiempo de espera agotado" cada vez. ¿Cómo puedo evitar esto?
Alternativamente, ¿cómo puedo configurar un servidor proxy?
Aquí está la configuración de proxy
git config --global http.proxy http://<username>:<pass>@<ip>:<port>
git config --global https.proxy http://<username>:<pass>@<ip>:<port>
Comando para utilizar:
git config --global http.proxy http://proxyuser:[email protected]:8080
- cambiar
proxyuser
a su usuario proxy - cambia
proxypwd
a tu contraseña de proxy - cambie
proxy.server.com
a la URL de su servidor proxy - cambie
8080
al puerto proxy configurado en su servidor proxy
Si decide restablecer este proxy en cualquier momento y trabajar sin proxy:
Comando para utilizar:
git config --global --unset http.proxy
Por último, para comprobar el proxy configurado actualmente:
git config --global --get http.proxy
Como alternativa al uso de git config --global http.proxy address:port
, puede configurar el proxy en la línea de comando:
git -c "http.proxy=address:port" clone https://...
La ventaja es que el proxy no se establece de forma persistente. Bajo Bash puedes establecer un alias:
alias git-proxy=''git -c "http.proxy=address:port"''
Después de probar incansablemente todas las soluciones de esta página, mi trabajo fue usar la clave SSH en su lugar.
- Open Git Bash
- $ ssh-keygen.exe -t rsa -C
- Abra su proveedor de Git (Github, Bitbucket, etc.)
- Agregue copie el contenido del archivo id_rsa.pub en la página de entrada del proveedor de Git (verifique su perfil)
Enfrentó el mismo problema debido a los múltiples archivos .gitconfig
en Windows, y siga los pasos a continuación para corregir el mismo:
Paso 1: Abrir Git BASH
Paso 2: busque .gitconfig
, ejecutando el siguiente comando:
git config --list --global --show-origin
Paso 3: Copie el contenido a continuación en .gitconfig
:
[http]
proxy = http://YOUR_PROXY_USERNAME:[email protected]:YOUR.PROXY.SERVER.PORT
sslverify = false
[https]
proxy = http://YOUR_PROXY_USERNAME:[email protected]:YOUR.PROXY.SERVER.PORT
sslverify = false
[url "http://github.com/"]
insteadOf = git://github.com/
[user]
name = Arpit Aggarwal
email = [email protected]
Establezca una variable del sistema llamada http_proxy
con el valor de ProxyServer:Port
. Esa es la solución más simple. Respectivamente, use https_proxy
como daefu señaló en los comentarios.
Configurar gitproxy (como menciona Sleske) es otra opción, pero requiere un "comando", que no es tan sencillo como la solución anterior.
Referencias: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
Esto funcionó para mí, en Windows XP detrás de un firewall corporativo.
No tuve que instalar ningún proxy local o cualquier otro software además de git v1.771 desde http://code.google.com/p/msysgit/downloads/list?can=3
$ git config --global http.proxy http://proxyuser:[email protected]:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:[email protected]/repoUser/repoName.git
$ git push origin master
proxyuser = el usuario proxy que me asignó nuestro departamento de TI, en mi caso, es el mismo usuario de Windows que utilizo para iniciar sesión en mi PC, el usuario de Active Directory
proxypwd = la contraseña de mi usuario proxy
proxy.server.com:8080 = el nombre y el puerto del proxy, lo obtuve del Panel de control, Opciones de Internet, Conexiones, botón Configuración de Lan, botón Avanzado dentro de la sección Servidor proxy, uso el nombre del servidor y el puerto en la primera fila (http) .
mygithubuser = el usuario que utilizo para iniciar sesión en github.com
mygithubpwd = la contraseña para mi usuario github.com
repoUser = el usuario propietario del repositorio
repoName = el nombre del repo
Intente colocar lo siguiente en el archivo ~ / .gitconfig:
[http]
proxy = http://proxy:8080
[https]
proxy = http://proxy:8080
[url "https://"]
insteadOf = git://
Para el protocolo git (git: // ...), instale socat y escriba un script como:
#!/bin/sh
exec socat - socks4:your.company.com:$1:$2
~/.gitconfig
en ejecutable, póngalo en su ruta y en su ~/.gitconfig
set core.gitproxy
al nombre de ese script.
Para usuarios de Windows: si git config
o set http_proxy=
no funcionan, esta respuesta puede ayudar:
Reemplace el protocolo git://
del repositorio git con http://
. Tenga en cuenta que, de todos modos, deberá configurar el http_proxy
primero.
Seguí la mayoría de las respuestas que se recomendaron aquí. Primero recibí el siguiente error:
fatal: no se pudo acceder a '' https://github.com/folder/sample.git/ '': schannel: siguiente InitializeSecurityContext falló: Error desconocido (0x80092012) - La función de revocación no pudo verificar la revocación del certificado.
Entonces he intentado el siguiente comando por @Salim Hamidi
git config --global http.proxy http://proxyuser:[email protected]:8080
Pero tengo el siguiente error:
fatal: no se puede acceder a '' https://github.com/folder/sample.git/ '': se recibió el código HTTP 407 del proxy después de CONECTAR
Esto podría suceder si el servidor proxy no puede verificar el certificado SSL. Por lo tanto, queremos asegurarnos de que la verificación ssl esté desactivada (no se recomienda para sitios que no son de confianza), así que he realizado los siguientes pasos, que fueron recomendados por @Arpit pero con leves cambios:
1. Primero asegúrese de eliminar cualquier configuración de proxy anterior:
git config --global --unset http.proxy
2.Entonces listar y obtener el contenido gitconfig
git config --list --show-origin
3. Última actualización del contenido del archivo gitconfig de la siguiente manera:
[http]
sslCAInfo = C:/yourfolder/AppData/Local/Programs/Git/mingw64/ssl/certs/ca-bundle.crt
sslBackend = schannel
proxy = http://proxyuser:[email protected]:8080
sslverify = false
[https]
proxy = http://proxyuser:[email protected]:8080
sslverify = false
Si está utilizando ubuntu, haga lo siguiente ...
Paso 1: Instale el sacacorchos
$ sudo apt-get install corkscrew
Paso 2: escriba un script llamado git-proxy.sh y agregue lo siguiente
#!/bin/sh
exec corkscrew <name of proxy server> <port> $*
# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*
Paso 3: hacer el script ejecutable
$ chmod +x git-proxy.sh
Paso 4: configura el comando proxy para GIT configurando la variable de entorno
$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"
Ahora usa los comandos git, tales como
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Si la forma en la línea de comandos de configurar su servidor proxy no funciona, probablemente solo puede editar .gitconfig (en la raíz de su perfil, que puede ocultarse en C: / Documents and Settings y en alguna unidad de red) y agregar esto :
[http]
proxy = http://username:[email protected]:8080
YMMV, sin embargo, esto solo cubre el primer paso de la configuración de la línea de comandos. Puede que tengas que editar la configuración de git del sistema también y no tengo idea de dónde escondieron eso.
Si tiene tsocks o proxychains instalados y configurados, puede
$ tsocks git clone <you_repository>
o
$ proxychains git clone <you_repository>
para hacerlo más corto, creé un enlace de símbolo /usr/bin/p
para proxychains
, por lo que puedo usarlo así
p git clone <you_repository>
y puedo usarlo para mandar cualquier comando,
p <cmd-need-be-proxied>
por cierto, proxychains no se actualiza durante mucho tiempo, puede que quieras probar proxychians-ng
Configuración de git proxy en la terminal
Si
- no desea configurar el proxy para cada uno de sus proyectos git manualmente, uno por uno
- Siempre querrás usar el mismo proxy para todos tus proyectos.
Establézcalo globalmente una vez
git config --global http.proxy username:password@proxy_url:proxy_port
git config --global https.proxy username:password@proxy_url:proxy_port
si desea configurar el proxy para un solo proyecto de git (puede haber algunas situaciones en las que no quiera usar el mismo proxy o cualquier otro proxy para algunas conexiones de git)
//go to project root
cd /bla_bla/project_root
//set proxy for both http and https
git config http.proxy username:password@proxy_url:proxy_port
git config https.proxy username:password@proxy_url:proxy_port
Si desea visualizar la configuración actual del proxy
git config --list
Si quieres eliminar proxy globalmente
git config --global --unset http.proxy
git config --global --unset https.proxy
Si desea eliminar el proxy para una sola raíz git
//go to project root
cd /bla-bla/project_root
git config --unset http.proxy
git config --unset https.proxy
Trabajo en Windows XP en el trabajo (estado / gobierno), así que hice mi investigación y encontré esto here y funcionó para mí. Espero que esto ayude :)
La variable de entorno http_proxy
Si utiliza un servidor proxy o un servidor de seguridad, es posible que deba configurar la variable de entorno http_proxy para acceder a alguna URL desde la línea de comandos. Ejemplo: instalar ppm para perl o aplicar rpm en linux, actualizando ubuntu
Configure la variable http_proxy con el nombre de host o la dirección IP del servidor proxy: http_proxy = http: // [proxy.example.org]
Si el servidor proxy requiere un nombre de usuario y contraseña, inclúyalos de la siguiente forma: http_proxy = http: // [username: [email protected]]
Si el servidor proxy utiliza un puerto distinto de 80, incluya el número de puerto: http_proxy = http: // [nombre de usuario: contraseñ[email protected]: 8080]
Windows XP
- Abra el Panel de control y haga clic en el icono Sistema.
- En la pestaña Avanzado, haga clic en Variables de entorno.
- Haga clic en Nuevo en el panel Variables del sistema.
- Agregue http_proxy con la información de proxy apropiada (vea los ejemplos anteriores).
Linux, Solaris o HP-UX
Configure la variable de entorno http_proxy utilizando el comando específico de su shell (por ejemplo, establecer o exportar). Para hacer este cambio persistente, agregue el comando al archivo de perfil apropiado para el shell. Por ejemplo, en bash, agregue una línea como la siguiente a su archivo .bash_profile o .bashrc:
- http_proxy = http: // [nombre de usuario: contraseña @ nombre de host: puerto];
- exportar $ http_proxy