the tag remove gnutls_handshake failed error git github ubuntu-10.04

remove - git push tag



error: gnutls_handshake() falló en el repositorio GIT (6)

En mi caso funcionó, mezclando las soluciones de @Rick y @ m0j0.

Primero ejecuta estos comandos:

git config --global http.sslVerify false git config --global http.sslVerify true

Después de agregar o modificar ~/.gitconfig

nano ~/.gitconfig

Establece esto:

[httpd] sslVersion = sslv3

El siguiente error aparece cuando intento clonar el repositorio git. Tengo las claves públicas rsa configuradas correctamente también.

$ git clone https://github.com/blah/blah.git Initialized empty Git repository in /home/arun/.git/ error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing https://github.com/blah/blah.git/info/refs fatal: HTTP request failed


En mi caso, parece que no estaba usando pycurl, por lo que la solución anterior no funcionó para mí. Lo que el trabajo DID fue una reconstrucción de git-core modificado para usar openssl en lugar de gnutls.

Las instrucciones están aquí:

https://askubuntu.com/questions/186847/error-gnutls-handshake-falied

Tuve el sustituto "git-core" por "git" en la mayoría de los lugares, el .dsc (¿el archivo de información del paquete?) Apareció como git-core_1.7.0.4-1ubuntu0.2.dsc, y el paquete .deb salió como git-core_1.7.0.4-1ubuntu0.2_i386.deb.


He tenido el mismo problema cuando probé sudo git fetch desde un directorio al que mi propio usuario no tenía suficientes derechos. Moví el repositorio a /tmp y continué mi trabajo.

No olvides /tmp se borra después de reiniciar.


Para mí, terminó siendo el certificado SSL autofirmado. Prueba esto

git config --global http.sslVerify false


Podría ser usado para un GnuTLs o un error de Pycurl

El siguiente es el nuevo método para pycurl_7.19.0-4ubuntu3:

sudo apt-get install build-essential fakeroot dpkg-dev mkdir ~/python-pycurl-openssl cd ~/python-pycurl-openssl sudo apt-get source python-pycurl sudo apt-get build-dep python-pycurl sudo apt-get install libcurl4-openssl-dev sudo dpkg-source -x pycurl_7.19.0-4ubuntu3.dsc cd pycurl-7.19.0 # remove the HAVE_CURL_GNUTLS=1 in the following file sudo vim debian/patches/10_setup.py.dpatch # remove the HAVE_CURL_GNUTLS=1 in the following file sudo vim setup.py # replace all gnutls into openssl in the following file sudo vim debian/control sudo dpkg-buildpackage -rfakeroot -b sudo dpkg -i ../python-pycurl_7.19.0-4ubuntu3_amd64.deb


Tuve este problema, y ​​me tomó un tiempo encontrar la solución. Seguí pensando que me faltaba un paquete en alguna parte. No quería recompilar Git, ya que ya estaba usando la última versión, y estaba bastante seguro de que el problema no era Git en sí.

Mi problema fue mi archivo .gitconfig . El problema solo ocurrió en un antiguo servidor Linux que se había actualizado muchas veces a lo largo de los años. En algún momento, por alguna razón que no recuerdo, había especificado explícitamente sslVersion = sslv3 en mi archivo .gitconfig .

Cuando vi eso, se encendió la bombilla, ya que sé que SSL V3 ha quedado en desuso debido a problemas de seguridad, y que la mayoría de la gente debería usar TLS en su lugar. Por ejemplo, consulte RFC 7568, https://tools.ietf.org/html/rfc7568

Así que mi solución consistió en eliminar la línea sslVersion = sslv3 de mi archivo ~/.gitconfig , o cambiar esto:

[httpd] sslVersion = sslv3

a esto:

[httpd] sslVersion = tlsv1.2

Eliminar la línea y dejar que Git / libcurl negocie el cifrado parece ser la mejor opción, ya que TLS v1.3 está en proceso, ¡y no quiero volver a encontrar este problema en el futuro!