Wenn ich versuche, eine Verbindung zu einem HTTPS-Server herzustellen git
, wird der folgende Fehler angezeigt:
error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing ...
fatal: HTTP request failed
Ich denke, dass vielleicht einige Pakete, die im Zusammenhang gnutls_handshake
stehen, kaputt gegangen sind . Also möchte ich diese neu installieren.
Welche Pakete können mit diesen Fehlern zusammenhängen? Oder wie behebe ich diese Art von Fehler?
Antworten:
Bekam Grund des Problems, es war
gnutls
Paket. Es funktioniert seltsam hinter einem Proxy. Funktioniert aberopenssl
auch in schwachem Netzwerk einwandfrei. So Abhilfe ist , dass wir zusammenstellen solltengit
mitopenssl
. Führen Sie dazu die folgenden Befehle aus:(Denken Sie daran, es
1.7.9.5
durch die aktuelle Version von git in Ihrem System zu ersetzen .)Bearbeiten Sie dann die
debian/control
Datei (führen Sie den Befehl aus:)gksu gedit debian/control
und ersetzen Sie alle Instanzen vonlibcurl4-gnutls-dev
mitlibcurl4-openssl-dev
.Erstellen Sie dann das Paket (wenn es beim Test fehlschlägt, können Sie die Zeile
TEST=test
aus der Datei entfernendebian/rules
):Neues Paket installieren:
i386:
sudo dpkg -i ../git_1.7.9.5-1_i386.deb
x86_64:
sudo dpkg -i ../git_1.7.9.5-1_amd64.deb
Inspiriert von hier: https://github.com/xmendez/wfuzz/wiki/PyCurlSSLBug
quelle
Für mich stellte sich heraus, dass das SSL-Zertifikat selbst signiert war. Probieren Sie es aus
git config --global http.sslVerify false
quelle
git
, und entfernt den Schutz vor Man-in-the-Middle-Angriffen.