password guardar cuenta credenciales como cambiar borrar and git http proxy git-config

guardar - Uso de Git en Windows, detrás de un proxy HTTP, sin almacenar la contraseña del proxy en el disco



gitlab (4)

Estoy usando Git en Windows, en una red corporativa donde estoy detrás de un proxy HTTP con autenticación básica. El SSH saliente no funciona, así que tengo que usar HTTPS a través del proxy.

Soy consciente de cómo usar git config http.proxy para configurar los ajustes como http://[username]:[password]@[proxy]:[port] .

Sin embargo, particularmente porque se trata de una máquina compartida, prefiero no almacenar mi contraseña en mi .gitconfig . Además, cambiar mi .gitconfig usando el comando git config deja mi contraseña en mi historial de bash, así que incluso si recuerdo borrar mi .gitconfig al final de la sesión, casi seguro que también me olvidaré de borrar mi historial.

He intentado configurar http.proxy sin una contraseña, con la vana esperanza de recibir un mensaje pidiéndome mi contraseña cuando intento presionar / tirar, pero solo obtengo una autenticación de proxy 407 requerida. Toda la información que he encontrado en línea parece ignorar los problemas con la contraseña guardada en texto sin formato en .gitconfig , o se ocupa de los proxies NTLM.

Estoy encantado de escribir los detalles de mi proxy cada vez que necesito conectarme. La mejor solución que puedo ver en este momento es escribir un script de contenedor que solicite mi contraseña y la establezca como una variable de entorno al llamar a git correctamente. ¿Es esta una solución decente? ¿Existen implicaciones de seguridad para establecer una variable de entorno para una sola llamada en un script? Preferiblemente, ¿hay alguna configuración integrada o herramientas existentes que pueda usar para esto?


En lugar de usar la configuración de git, también puede usar la variable de entorno (que puede establecer solo para su sesión), como se describe en esta respuesta :

set http_proxy=http://username:password@proxydomain:port set https_proxy=http://username:password@proxydomain:port set no_proxy=localhost,.my.company

Por lo tanto, su secuencia de comandos de contenedor podría, en lugar de modificar .gitconfig (y dejar su contraseña en texto sin formato) establecer variables de entorno a pedido, solo para su sesión actual.


La respuesta de VonC no siempre resuelve el problema. No sé por qué, pero puede depender del servidor proxy, ¿o tal vez sea algún otro problema en conjunto?

Puede ser útil reemplazar el protocolo git:// del repositorio con http:// .

Nota: como en la respuesta de VonC, primero deberá configurar las variables de entorno http(s)_proxy :

set http_proxy=http://username:password@proxydomain:port set https_proxy=http://username:password@proxydomain:port

Por ejemplo, el git estable del clon de mármol generalmente se clonaría así (a partir de la documentación de mármol ):

git clone -b Aplicaciones / 15.12 git: //anongit.kde.org/marble ~ / marble / sources

En cmd Windows (asumiendo que http_proxy ha sido configurado), entonces puede que tenga que usar http[s]:// lugar:

git clone -b Applications/15.12 http://anongit.kde.org/marble ~/marble/sources


desde git 2.8.0

git config --global http.proxy http://[user]@proxyhost:port git config --global credential.helper wincred


Si estás detrás de un servidor proxy, sigue esto.

Asegúrese de que el puerto 9418 esté excluido de sus reglas de firewall. Pregunte al administrador de la red

Desactivar Proxy si ya está configurado:

  • git config --global --unset http.proxy
  • git config --global --unset https.proxy

Establecer el Proxy adecuado:

Errores comunes:

  • 502: la URL / IP no es accesible desde su red.
  • 407: autenticación de proxy denegada.
  • 80: El proxy no se ha configurado correctamente.