Git Pull / Push - SSL-Routinen können nicht auf HTTPS zugreifen

105

Ich benutze Git (und GitHub) täglich und alles hat gut funktioniert und plötzlich kann ich nicht mehr über meine Git-Befehle mit meinem entfernten GitHub-Repository kommunizieren. Wenn ich versuche, "Git Pull" zu machen, wird der folgende Fehler ausgegeben:

Schwerwiegend: Zugriff auf ' https://github.com/snahrvar/eatibl.git/ ' nicht möglich: Fehler: 1407742E: SSL-Routinen: SSL23_GET_SERVER_HELLO: Version des tlsv1-Warnprotokolls

Also habe ich über mehrere Repositorys hinweg getestet und auf meinem Computer werden dieselben Fehler angezeigt. Ich habe jemanden mit denselben Repositories interagieren lassen, und es funktioniert gut für ihn. Vor diesem Fehler habe ich eine "npm-Installation scharf" für ein Projekt durchgeführt, die fehlgeschlagen ist, und ich vermute, dass dies mit einigen SSL-Einstellungen zu tun hat, aber das ist eine wilde Vermutung!

Alle allgemeinen Gedanken oder Anleitungen wären sehr dankbar!

Wenn es überhaupt hilfreich ist, ist hier meine Umgebung:

  • Git-Version: 1.9.4.msysgit.2
  • Windows-Version: Windows 8.1
Shayan Nahrvar
quelle
Gleiches Problem hier ?
LYES - CHIOUKH
Gleiches hier mit git 1.9.5.msysgit.1
Maxime Helen
Ich habe das gleiche Problem
Chase Cabrera
11
Ich glaube, diese Änderung hat den Fehler verursacht: github.com/blog/2507-weak-cryptographic-standards-removed
Dan H
Ich hatte das gleiche Problem und installierte Github Desktop und alles funktionierte gut!
Damian

Antworten:

69

Das Aktualisieren von TortoiseGit und GCM hat mir nicht geholfen, das Aktualisieren von Git selbst jedoch gemäß den Ratschlägen von @ Frederic in den Kommentaren.

https://git-scm.com/download/win

Um sicherzustellen, dass die neue Version von Git ordnungsgemäß installiert wird und nicht mit früheren Installationen in Konflikt steht (wenn Sie TortoiseGit verwenden, weil es andere Ordner verwenden und mit der PATH-Variablen herumspielen würde), entfernen Sie die vorhandene Git-Installation, bevor Sie das aktualisierte Git installieren . Möglicherweise muss auch mit Administratorrechten installiert werden.

Feos
quelle
Ich bin mir nicht sicher, was mit der letzten Version von git passiert ist, die diese Fehler heute ausgelöst hat, aber diese Antwort ist es für mich. Ich habe eine Neuinstallation (2 Tage alte Version) durchgeführt und bin wieder in Betrieb und führe keine SSL-Fehler aus. Sprechen Sie über eine Nadel im Heuhaufen.
JeffBaumgardt
3
Der interessanteste Teil ist, dass Github selbst dies nicht erwähnt, obwohl es wahrscheinlich mit den jüngsten Updates zusammenhängt. Schnelle Google-Suche in Bezug auf ähnliche Probleme mit anderen Code-Hostings macht OpenSSL verantwortlich.
Feos
Ja, ich musste nur auf die neueste Version aktualisieren! Danke: D
Shayan Nahrvar
1
@gath Sie haben wahrscheinlich 2 inkompatible Installationen von Git. Versuchen Sie, die vorhandene vollständig zu deinstallieren, und installieren Sie Git dann von Grund auf neu. Aber Ihr Fehler ist ein anderer stackoverflow.com/questions/3778042/…
feos
5
Für mich war "Entfernen der vorhandenen Git-Installation vor der Installation des aktualisierten Git" der Schlüssel zu diesem ganzen Debakel.
Richard Ockerby
20

Sie stoßen wahrscheinlich auf eine Inkompatibilität mit GitHubs Ablehnung schwacher SSL-Verschlüsselungsprotokolle:

Hinweis zum Entfernen kryptografischer Standards

Die Lösung ist unterschiedlich, aber für Windows müssen Sie wahrscheinlich den Git-Berechtigungsnachweis-Manager auf 1.14.0 aktualisieren

https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0

Anthony L.
quelle
1
Werden sie weiterhin den integrierten Git-Berechtigungsnachweis-Manager für Windows unterstützen: wincred? Ich erhalte den gleichen Fehler mit diesem Tool
Max Hartshorn
Diese Antwort hat dazu beigetragen, einen Kontext über die Änderung bereitzustellen, aber die Lösung von @feos hat für mich funktioniert (Windows 10, TortoiseGit)
Eric Farraro
14

Wenn Sie Android Studio oder IntelliJ IDEA verwenden, können Sie das Problem lösen, indem Sie Git auf die neueste Version aktualisieren und den Pfad so ändern, dass er auf die neue Version verweist.

Geben Sie hier die Bildbeschreibung ein

humazed
quelle
1
Dies hat auch bei mir funktioniert: Installieren Sie die neueste Version von Git und zeigen Sie mit IntelliJ IDEA darauf.
user1825866
8

Mit TortoiseGit habe ich alle anderen Korrekturen / Updates durchgeführt, die dafür angegeben wurden, und immer noch keinen Erfolg. Ich habe folgendes gefunden: Kann nicht plötzlich schieben / ziehen / holen

Meine TortoiseGit-Einstellungen für Git für Windows Git.exe-Pfad zeigten auf C:\Program Files (x86)\Git\bin. Ich habe es geändert C:\Program Files\Git\binund jetzt funktioniert es wieder.

MJWitte
quelle
3
Ich habe es mit der Check nowSchaltfläche im GeneralEinstellungsdialog überprüft , mit dem x86Pfad, den ich erhalten habe git version 1.9.5.msysgit.1, nachdem C:\Program Files\Git\binich zu "Erhalten" gewechselt habe, git version 2.16.2.windows.1und mit diesem Pfad funktioniert alles einwandfrei.
Entwicklung
8

Das hat bei mir funktioniert.

  1. Installieren Sie die neueste Version von Git hier: https://git-scm.com/download/win
  2. Gehen Sie in TortoiseGit zum Menü EinstellungenAllgemeinGit.exe-Pfad - ändern Sie den Pfad von 32-Bit in 64-Bit: C: \ Programme (x86) \ Git \ bin → C: \ Programme \ Git \ bin
dgundersen
quelle
Guter Punkt. Wenn jemand (wie ich) die alte 32-Bit-Version von Windows verwendet hat, müssen Sie sie im PATH ersetzen.
AG
Dies sparte mir Zeit @dgundersen
Tejas Mehta
8

Das Aktualisieren von Git war in meiner Situation nicht genug. Nach mehrstündigem Debuggen war dies mein Fix:

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.0

C:\wamp64\www\maandlastenmanager> git config http.sslVersion tlsv1.2

C:\wamp64\www\maandlastenmanager> git config http.sslVersion
tslv1.2
Raymond van Rijs
quelle
Dies löste das Problem für mich und auf einem völlig anderen Setup (Mac OS X). curlgibt mir immer noch die Nachricht, die mich fragen lässt, ob es eine solche Einstellung gibt, die für alle SSL-Apps gilt, nicht nur für git...
Chesterbr
Welche dieser Zeilen?
Dmitri Zaitsev
2

Ich hatte das gleiche Problem beim Abrufen von Code aus GitHub auf meinem Visual Studio Code- Terminal. Ich fand den Rat in den vorherigen Antworten nützlich und hackte eine Lösung zusammen, indem ich die folgenden Schritte ausführte:

Dieses Repository war sehr nützlich.

Ich hoffe das hilft jemandem.

Bolu Ajibawo
quelle
2

TL; DR: git config --system http.sslbackend schannelund deaktivieren Sie die HTTPS-Überprüfungen github.comin Ihrer Antivirensoftware


Ich verwende die Git-Befehlszeile unter Windows 8 x64. Außerdem überprüft meine Antivirensoftware standardmäßig den HTTPS-Verkehr . Wie andere Leute bei der Beantwortung dieser Frage benutze ich GitHub fast täglich.

  • Git zu aktualisieren - hat nicht geholfen - weil ich OpenSSL verwendet habe (siehe unten)
  • Aktualisieren des Anmeldeinformationsmanagers - hat nicht geholfen

Dann begann ich mit dem Umschalten des SSL-Backends zu spielen:

git config --system http.sslbackend openssl ----------------vs------------------ git config --system http.sslbackend schannel und die Antivirensoftware prüft auf SSL-Verkehr:

  1. OpenSSL, HTTPS prüft EIN: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
  2. OpenSSL, HTTPS prüft AUS: SSL certificate problem: unable to get local issuer certificate
  3. SecureChannel, HTTPS prüft EIN: schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
  4. SecureChannel, HTTPS prüft AUS: hat gut funktioniert

PS: Anstelle der Befehlszeile können Sie einfach das neueste Git neu installieren und "Native Windows SSL-Validierungsbibliothek verwenden" auswählen.

PPS: Der Fall (3) scheint ein Fehler in der Schannel-Bibliothek zu sein, da das MITM-Zertifikat, das meine Antivirensoftware verwendet, auf meinem Computer auf der Whitelist steht.

Mike Makarov
quelle
Bei der Neuinstallation von git habe ich die alte Installation vollständig entfernt und für die neue Installation OpenSSL ausgewählt. Ich denke, es wurde von Grund auf neu installiert. Aber ich habe kein Antivirus. Hat die Neuinstallation des SSL-Backends etwas für Sie geändert oder haben Sie es nicht getan?
Feos
@feos Ja, es funktioniert nur bei mir im Nicht-OpenSSL-Modus. Außerdem musste ich https-Checks in AV deaktivieren.
Mike Makarov
Mir ist immer noch unklar, haben Sie SSL neu installiert oder nicht?
Feos
@feos Nein, habe ich nicht. Ich glaube nicht, dass man SSL unter Windows "neu installieren" kann. Also nicht sicher, was du damit meinst. Wenn Sie den neuesten Git-Client installieren, haben Sie die Wahl zwischen OpenSSL-Backend oder Windows-integriertem. Ich habe mich für OpenSSL entschieden. Das hat nicht funktioniert und ich habe das Backend durch die Konfiguration geändert. Hoffe das klärt sich.
Mike Makarov
Danke. Ich denke, Sie hatten ein ganz anderes Problem als das OP.
Feos
1

Unter macOS können Sie die neueste Version über installieren .gitHomebrew

WIE
quelle
Leider hat dies unter Mac OS X 10.7.5 (Lion) bei mir nicht funktioniert - ich habe den gleichen Fehler erhalten. Ich habe dann versucht, Homebrewvon Grund auf neu zu installieren - es scheint ein Haken zu sein22. error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version while accessing https://github.com/Homebrew/brew/info/refs?service=git-upload-pack fatal: HTTP request failed
Setaa
@Setaa, Nun, können Sie versuchen, es manuell von der Seite "Releases" zu installieren? Sie scheinen diesen catch22 in 1.5.5
AS
1

Gleiches gilt für mich auch für Git 1.9.5.msysgit.1. Ich habe versucht, https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 zu installieren , aber keine Änderung.

Eigentlich passiert nach der Installation nichts; Vielleicht mache ich etwas falsch? (Das hilft vielleicht nicht für die erste Frage, aber für andere Leute, ja!)

Frederic
quelle
6
Um der Community zu helfen, habe ich gerade git (für Windows) (mit git-scm.com/download/win ) aktualisiert und das Problem gelöst!
Frederic
2
Unter Windows 7 Pro / 64 habe ich git über den Link git-scm.com/download/win aktualisiert. Dies installierte git in c: \ program files \ git anstatt in c: \ program files (x86) \ git. Meine Version wurde von 1.9.5.msysgit.1 auf 2.16.2.windows.1 geändert, und als ich WebStorm so konfigurierte, dass es auf die neuere Version verweist , wurde der mysteriöse Fehler 1407742E: SSL-Routinen: SSL23_GET_SERVER_HELLO: Versionsprotokoll des tlsv1-Alarmprotokolls beendet.
CODE-REaD
Zu C:\Program Files\Git\etc> cat install-options.txt Editor Option: Notepad++ Path Option: Cmd Plink Path: C:\Program Files (x86)\PuTTY\plink.exe SSH Option: Plink CURL Option: OpenSSL CRLF Option: CRLFAlways Bash Terminal Option: MinTTY Performance Tweaks FSCache: Enabled Use Credential Manager: Enabled Enable Symlinks: Disabled
Ihrer Information
Sie sollten sich ermutigen, eine Antwort zu aktualisieren.
Edward Thomson
1

Ja, ich bin heute bei einer Pull-Anfrage auf dasselbe Problem gestoßen. Die Lösung bestand darin, Git einfach durch Herunterladen der neuesten (2.16.2) 64-Bit-Version von Git für Windows zu aktualisieren. Es wurde vor 5 Tagen am 20.02.2018 veröffentlicht.

Thomas M.
quelle
1

Der Kommentar von @andw hat bei mir funktioniert:

Aktualisieren Sie Git Version 1.9.5 auf 2.15.1 mit den folgenden Schritten:

In sourceTree, gehen zum Menü ExtrasOptionenGitEmbedded - Git .

Sackgasse
quelle
1

Eine schnelle Lösung wäre git config --global http.sslVerify true , wird jedoch nicht empfohlen, da dies den Zweck der Verwendung von SSL zunichte macht .

Eine zweite und bessere Möglichkeit ist die Verwendung von SSH-Schlüsseln anstelle einer SSL-URL.

Schritte zum Generieren von SSH-Schlüsseln

o Führen Sie den folgenden Befehl in einem Git-Terminal (Git Bash) aus: ssh-keygen

Nach dem Ausführen des Befehls wird die folgende Meldung angezeigt:

Generieren eines öffentlichen / privaten RSA-Schlüsselpaars.

Geben Sie die Datei ein, in der der Schlüssel gespeichert werden soll (/h//.ssh/id_rsa):

Geben Sie den Pfad für den Schlüssel an, in dem gespeichert werden soll. Geben Sie beispielsweise die Datei ein, in der der Schlüssel gespeichert werden soll (/h//.ssh/id_rsa): C:\Users\Public\my-new-ssh-key

Geben Sie dann die Passphrase für diesen Schlüssel ein (ein beliebiges Passwort mit mindestens 8 Zeichen).

• Führen Sie als nächstes den folgenden Befehl aus: eval “$ (ssh-agent –s)”

• Führen Sie den folgenden Befehl aus: ssh-add C:/Users/Public/my-new-ssh-keyHinweis: Verwenden Sie einen Schrägstrich im Pfad zum neu erstellten SSH-Schlüssel.

Fügen Sie anschließend den Inhalt der Datei my-new-ssh-key.pub hinzu und fügen Sie ihn im Textbereich für Add public key (Bitbucket, GitHub usw.) hinzu.

ankit bhardwaj
quelle
0

Beim Herstellen einer Verbindung zu einem Remote-Repository zum Abrufen, Ziehen, Drücken usw. trat der gleiche Fehler auf:

fatal: unable to access 'https://github.com/repository.git/': error:1
407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

Ich habe gerade Git 64-Bit anstelle von 32-Bit neu installiert und das Problem wurde behoben.

Überprüfen Sie nach der Installation den Git-Pfad in den Umgebungsvariablen. Es sollte sein:

C:\Program Files\Git\bin\git.exe
Pratap Singh
quelle
0

Dies ist ein Problem mit IntelliJ und RubyMine. GitHub muss SSL (PCI-Konformität vielleicht?) Zu Gunsten von TLS deaktiviert haben. Wenn Sie Einstellungen in IntelliJ oder RubyMine öffnen und zu Versionskontrolle> Git navigieren, wird eine git.exe verwendet, die unter dem Pfad der Anwendung installiert ist. Sie sollten die aktuellste Version von Git herunterladen und den Pfad in Ihren VCS-Einstellungen so ändern, dass er darauf verweist, z. B. C: \ Programme \ Git \ bin \ git.exe, wenn Sie ihn unter Windows installieren. Funktioniert danach wie ein Zauber.

Dave Medlock
quelle
0

Manchmal wird dies durch veraltetes msysgit verursacht, das altes ssl verwendet und nicht mehr gewartet wird. Sie können das neueste git für Windows installieren und den Pfad git.exe in der Schildkröteneinstellung darauf verweisen. Dann ist dieses Problem behoben.

Benny
quelle
0

Es ist ein ähnlicher Fehler aufgetreten. Unter Windows: Git unter Windows auf die neueste Version aktualisiert. Das hat das Problem behoben.

Olusola Omosola
quelle
Wie fügt dies der akzeptierten Antwort etwas hinzu, das vorschlägt, git zu aktualisieren, um das Problem zu beheben?
David
Ich erklärte, was für mich funktioniert. Ähnlich wie einige andere vielleicht auch.
Olusola Omosola
0

Das Git-Versions-Upgrade hat den Trick für mich gemacht. Ich hatte die Version 1.9.5 und so und habe unter Windows auf 2.21.0 aktualisiert . Auch ein Upgrade ist sehr einfach. Wir müssen die ältere Version nicht deinstallieren. Laden Sie das neueste Git-Installationsprogramm herunter und drücken Sie mit den Standardoptionen weiter auf "Weiter". Die Version wird auf die neue Version geändert, und alle alten Einstellungen funktionieren weiterhin wie SSH-Schlüssel usw. Wir müssen die Schlüssel nicht erneut generieren und aufsetzen Github oder ein anderes Repository.

Früher funktionierte das Klonen meines https-Protokolls nicht und gab einen Fehler aus

Schwerwiegend: Zugriff auf ' https://github.com/tensorflow/models/ ' nicht möglich: Fehler: 1407742E: SSL-Routinen: SSL23_GET_SERVER_HELLO: Version des tlsv1-Warnprotokolls

Nachdem ich die neue Version heruntergeladen und denselben Klonbefehl ausgeführt hatte, funktionierte dies ohne Probleme.

AKumar
quelle