it-swarm.com.de

Git pull/Push - Zugriff auf HTTPS nicht möglich, SSL-Routinen scheinen ausgefallen zu sein

Ich verwende täglich Git (und GitHub) 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 ziehen", gibt es den folgenden Fehler:

fatal: Zugriff auf ' https://github.com/snahrvar/eatibl.git/ ' nicht möglich: Fehler: 1407742E: SSL-Routinen: SSL23_GET_SERVER_HELLO: tlsv1-Warnung Protokollversion

Ich habe also mehrere Repositorys getestet und erhalte dieselben Fehler auf meinem Computer. Ich hatte jemanden, der mit diesen Repositories interagierte, und es funktioniert gut für sie. Vor diesem Fehler habe ich bei einem Projekt eine "npm install sharp" durchgeführt, die letztendlich fehlgeschlagen ist, und ich vermute, dass dies mit einigen SSL-Einstellungen durcheinander gekommen ist.

Alle allgemeinen Gedanken oder Hinweise würden sehr geschätzt!

Wenn es hilfreich ist, ist hier meine Umgebung:

  • Git-Version: 1.9.4.msysgit.2
  • Windows-Version: Windows 8.1
97
Shayan Nahrvar

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

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

Um sicherzustellen, dass die neue Version von Git ordnungsgemäß installiert wird und keine Konflikte mit früheren Installationen besteht (wenn Sie TortoiseGit's verwenden, da andere Ordner verwendet werden und die Variable PATH verwendet wird), entfernen Sie die vorhandene Git-Installation, bevor Sie das aktualisierte Git installieren . Eventuell muss auch mit Administratorrechten installiert werden.

62
feos

Sie sind wahrscheinlich mit einer Inkompatibilität mit GitHubs Abwertung schwacher SSL-Verschlüsselungsprotokolle konfrontiert:

Hinweis zum Entfernen schwacher kryptografischer Standards

Die Lösung unterscheidet sich, aber für Windows müssen Sie wahrscheinlich den Git Credential Manager auf 1.14.0 aktualisieren

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

18
Anthony L

Wenn Sie Android Studio oder IntelliJ IDEA verwenden, wenn Sie Git auf die neueste Version aktualisieren und den Pfad ändern, um auf die neue Version zu zeigen, lösen Sie das Problem für mich.

 Enter image description here

13
humazed

Mit TortoiseGit habe ich alle anderen Korrekturen/Aktualisierungen vorgenommen, die diesbezüglich vorgenommen wurden, und trotzdem kein Erfolg. Ich habe folgendes gefunden: Kann nicht plötzlich Push/Pull/Fetch machen 

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

8
MJWitte

Das hat bei mir funktioniert.

  1. Installieren Sie die neueste Version von Git von hier: https://git-scm.com/download/win
  2. Gehen Sie in TortoiseGit zum Menü EinstellungenGeneralGit.exe Path - ändern Sie den Pfad von 32-Bit in 64-Bit-Pfad: C:\Programme (x86)\Git\bin → C:\Programme\Git\bin
6
dgundersen

Das Aktualisieren von Git war in meiner Situation nicht genug. Nach dem Debuggen für mehrere Stunden 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
6

Das gleiche Problem hatte ich beim Abrufen von Code aus GitHub auf meinem Visual Studio Code - Terminal. Ich fand den Rat in den vorherigen Antworten hilfreich und hackte eine Lösung zusammen mit den folgenden Schritten: 

Dieses Repository war sehr nützlich.

Ich hoffe das hilft jemandem.

2
Bolu Ajibawo

Der Kommentar von @andw hat für mich funktioniert:

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

Gehen Sie in SourceTree zu Menü Extras Optionen Git Embedded Git verwenden.

1
Dead End

Unter macOS können Sie die neueste git über Homebrewinstallieren .

1
A S

Dasselbe gilt für mich auch mit 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 mag bei der ersten Frage nicht helfen, aber bei anderen Leuten ja!)

1
Frederic

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

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

Schritte zum Erzeugen 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 von öffentlichen/privaten RSA-Schlüsselpaaren.

Datei eingeben, 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 (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 im Pfad zum neu erstellten SSH-Schlüssel einen Schrägstrich.

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.) ein.

1
ankit bhardwaj

TL; DR: git config --system http.sslbackend schannel und HTTPS-Prüfungen für github.com in Ihrer Antiviren-Software ausschalten


Ich verwende die Git-Befehlszeile unter Windows 8 x64. Außerdem prüft meine Antivirensoftware den HTTPS-Verkehr standardmäßig. Wie andere Leute, die diese Frage beantworten, benutze ich GitHub fast täglich.

  • Git wurde aktualisiert - hat nicht geholfen - weil ich OpenSSL verwendet habe (siehe unten)
  • Aktualisierung des Berechtigungsmanagers - hat nicht geholfen

Dann begann ich mit dem Umschalten des SSL-Backends:

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

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

P.S .: Statt der Befehlszeile können Sie einfach das neueste Git neu installieren, indem Sie "Native Windows-SSL-Validierungsbibliothek verwenden" auswählen. 

P.P.S .: Der Fall (3) scheint ein Fehler in der Schannel-Bibliothek zu sein, da das MITM-Zertifikat, das meine Antivirensoftware verwendet, auf meinem Computer als Whitelist aufgeführt ist.

1
Mike Makarov

Ja, ich habe heute das gleiche Problem bei einer Pull-Anfrage festgestellt und die Lösung bestand darin, Git einfach durch ein Update der neuesten (2.16.2) 64-Bit-Version von Git für Windows zu aktualisieren. Es wurde vor 5 Tagen veröffentlicht, am 2018-02-20.

1
Thomas M

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

Früher funktionierte das Klonen meines https-Protokolls nicht und es trat ein Fehler auf

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

Nachdem ich eine neue Version heruntergeladen und den gleichen Klonbefehl ausgeführt hatte, funktionierte es ohne Probleme.

0
AKumar

Dies ist ein Problem mit IntelliJ und RubyMine. GitHub muss SSL (PCI-Konformität möglicherweise?) Zugunsten von TLS deaktiviert haben. Wenn Sie Einstellungen in IntelliJ oder RubyMine öffnen und zu Version Control> Git navigieren, wird angezeigt, dass unter dem Pfad der Anwendung eine git.exe installiert ist. Sie sollten die aktuellste Version von Git herunterladen und den Pfad in den VCS-Einstellungen ändern, um darauf hinzuweisen, z. C:\Programme\Git\bin\git.exe, wenn Sie es unter Windows installieren. Funktioniert danach wie ein Zauber.

0
Dave Medlock

Ein ähnlicher Fehler aufgetreten. Unter Windows wurde git unter Windows auf die neueste Version aktualisiert. Das Problem wurde behoben.

0
Olusola Omosola

Beim Herstellen einer Verbindung zu einem Remote-Repository zum Abrufen, Ziehen, Push usw. hatte ich den gleichen Fehler:

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

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

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

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

Manchmal wird dies durch veraltetes msysgit verursacht, das alte SSL-Dateien verwendet und nicht mehr verwaltet wird. Sie können das neueste git für Windows installieren und den Pfad git.exe in der Tortoise-Einstellung darauf verweisen.

0
Benny