Fehler: gnutls_handshake() fehlgeschlagen GIT-repository
Wird die folgende Fehlermeldung angezeigt, wenn ich versuche, clone git-repository. Ich habe der öffentliche rsa-Schlüssel richtig konfiguriert als gut.
$ 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
InformationsquelleAutor Arun Jayapal | 2012-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte verwendet werden, um eine GnuTLs oder pycurl bug
Ich nehme an, es hängt von der genauen
.deb
Datei Namen gebaut, indem Sie die vorherigen Schritt (diedpkg-buildpackage
). Sie brauchen, um einen Blick zu haben und die Suche nach den eigentlichen Namen generiert.Es funktioniert. Ich danke Ihnen sehr
Ich folgte dieser Lösung, die Abweichungen enthalten die source-Datei Vorlage als pycurl_7.19.0-3.dsc statt pycurl_7.19.0-4ubuntu3.dsc. Ich fand es auch notwendig, NICHT Bearbeiten Sie die patch-Datei, verursacht dies also ein MD5-Fehler, auf die zu bauen.
Am Ende, das Verhalten ist unverändert, vielleicht muss ich einen Weg finden, um wirklich zu stoppen, makro definiert wird. Vielleicht kann ich manuell änderungen vornehmen, um setup.py und beenden Sie den patch angewendet werden?
InformationsquelleAutor VonC
Ich hatte dieses problem, und es dauerte eine Weile, um die Lösung zu finden. Ich dachte, dass ich ein Paket fehlt irgendwo. Ich wollte nicht kompilieren, Git, da war ich bereits mit der neuesten version, und ich war mir ziemlich sicher, dass das problem nicht Git selbst.
Mein problem war mein
.gitconfig
- Datei. Das problem trat erst auf einem alten Linux-server hatte, wurden aktualisiert, viele Male im Laufe der Jahre. An irgendeinem Punkt, aus irgendeinem Grund ich erinnere mich nicht, ich hatte explizit angegebensslVersion = sslv3
in meinem.gitconfig
- Datei.Als ich sah, dass die Glühbirne ging auf, da ich weiß, dass SSL V3 eingestellt wurde aufgrund von Sicherheitsbedenken, und dass die meisten Menschen sollten die Verwendung von TLS statt. Zum Beispiel finden Sie unter RFC-7568, https://tools.ietf.org/html/rfc7568
Also mein fix beteiligten entweder löschen die problematische
sslVersion = sslv3
Linie von meinem~/.gitconfig
- Datei, oder ändern diese::
Entfernen Sie die Zeile, und lassen Git/libcurl aushandeln der Verschlüsselung, schien die beste Wahl, da TLS v1.3 ist in Arbeit, und ich will nicht, um dieses problem zu begegnen, wieder in die Zukunft!
Dieser arbeitete für mich!
InformationsquelleAutor m0j0
In Meinem Fall, Es scheint, ich war nicht mit pycurl, also die oben genannte Lösung funktionierte nicht für mich. Was HAT funktioniert, war ein Umbau, der git-Kern modifiziert, openssl statt gnutls.
Anleitung gibt es hier:
https://askubuntu.com/questions/186847/error-gnutls-handshake-falied
Hatte ich Ersatz "git-core" für "git" in den meisten Orten, der .dsc (Paket-Informationen-Datei?) stellte sich als git-core_1.7.0.4-1ubuntu0.2.dsc, und die .deb-Paket kam als git-core_1.7.0.4-1ubuntu0.2_i386.deb.
InformationsquelleAutor 2NinerRomeo
Ich habe das gleiche problem, wenn versucht
sudo git fetch
aus einem Verzeichnis meiner eigenen user hat nicht genug Rechte habe. Ich zog repository zu/tmp
und setzte meine Arbeit.Vergessen Sie nicht
/tmp
wird gelöscht nach einem Neustart.InformationsquelleAutor simno
Für mich, es endete als das SSL-Zertifikat selbst signiert ist. Geben Sie diesem einen Versuch
git config --global http.sslVerify false
git
entfernen Schutz gegen verschiedene Arten von Angriffen.InformationsquelleAutor Rick
In meinem Fall arbeitete, mischen der Lösungen von @Rick und @m0j0
Zunächst diese Befehle auszuführen:
Nach dem hinzufügen oder ändern
~/.gitconfig
Set:
InformationsquelleAutor onalbi