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
Antworten:
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.
quelle
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
quelle
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.
quelle
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ändertC:\Program Files\Git\bin
und jetzt funktioniert es wieder.quelle
Check now
Schaltfläche imGeneral
Einstellungsdialog überprüft , mit demx86
Pfad, den ich erhalten habegit version 1.9.5.msysgit.1
, nachdemC:\Program Files\Git\bin
ich zu "Erhalten" gewechselt habe,git version 2.16.2.windows.1
und mit diesem Pfad funktioniert alles einwandfrei.Das hat bei mir funktioniert.
quelle
Das Aktualisieren von Git war in meiner Situation nicht genug. Nach mehrstündigem Debuggen war dies mein Fix:
quelle
curl
gibt 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ürgit
...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:
C:\Program Files (x86)\Git\bin.
auf geändertC:\Program Files\Git\bin
.Dieses Repository war sehr nützlich.
Ich hoffe das hilft jemandem.
quelle
TL; DR:
git config --system http.sslbackend schannel
und deaktivieren Sie die HTTPS-Überprüfungengithub.com
in Ihrer AntivirensoftwareIch 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.
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:error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
SSL certificate problem: unable to get local issuer certificate
schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate.
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.
quelle
Unter macOS können Sie die neueste Version über installieren .
git
Homebrew
quelle
Homebrew
von 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
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!)
quelle
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
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.
quelle
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ü Extras → Optionen → Git → Embedded - Git .
quelle
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-key
Hinweis: 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.
quelle
Beim Herstellen einer Verbindung zu einem Remote-Repository zum Abrufen, Ziehen, Drücken usw. trat der gleiche Fehler auf:
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:
quelle
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.
quelle
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.
quelle
Es ist ein ähnlicher Fehler aufgetreten. Unter Windows: Git unter Windows auf die neueste Version aktualisiert. Das hat das Problem behoben.
quelle
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
Nachdem ich die neue Version heruntergeladen und denselben Klonbefehl ausgeführt hatte, funktionierte dies ohne Probleme.
quelle