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!