webentwicklung-frage-antwort-db.com.de

Unbekannter SSL-Protokollfehler in der Verbindung

Ich möchte meine Commits an ein Bitbucket-Repository senden, aber dieser Fehler ist aufgetreten:

Fatal: unable to access
'https://[email protected]/myUsername/myRepository.git/':
Unknown SSL protocol error in connection to bitbucket.org:443
61
b24

Laut bitbucket Knowledgebase kann dies auch dadurch verursacht werden, dass der Eigentümer des Repositorys das Planlimit überschreitet.

Wenn Sie weiter unten auf der Seite nachsehen, scheint es auch möglich zu sein, diesen Fehler mit einer zu alten Git-Version zu beheben (1.7 wird derzeit benötigt).

41
Jordfräs

Weitere Informationen erhalten Sie bei

# Windows
set GIT_CURL_VERBOSE=1
set GIT_TRACE_PACKET=2

# Unix
export GIT_CURL_VERBOSE=1
export GIT_TRACE_PACKET=2

Und dann versuchen Sie es mit einem git Push.

Überprüfen Sie Ihre Proxy-Einstellungen, falls Sie eine haben.

Anmerkung: Git 2.8 (März 2016) fügt weitere Informationen zu einem Fehler 35 hinzu:

Siehe Commit 0054045 (14. Februar 2016) von Shawn Pearce (spearce) .
(Zusammengeführt von Junio ​​C Hamano - gitster - in festschreiben 97c49af , 24. Februar 2016)

remote-curl: Geben Sie curl_errorstr Für Fehler bei der SSL-Einrichtung an

Für curl Fehler 35 (CURLE_SSL_CONNECT_ERROR) Müssen Benutzer den zusätzlichen Text in CURLOPT_ERRORBUFFER Speichern, um zu debuggen, warum die Verbindung nicht gestartet wurde.
Dies ist curl_errorstr Innerhalb von http.c. Fügen Sie dies in die Nachricht ein, wenn es nicht leer ist.


Überprüfen Sie auch die häufigsten Ursachen für diese Meldung :

Wenn es zuvor funktioniert hat und heute nicht, ist der private SSL-Schlüssel auf der BitBucket-Seite möglicherweise abgelaufen (siehe unten, Grund 3), aber das scheint hier nicht der Fall zu sein (das Zertifikat ist gültig bis 12/03/2014).


Der Ziel-Site gefällt das Protokoll nicht

Das Auslösen einer Anforderung wie der folgenden führt zu dem Fehler "Unbekanntes SSL-Protokoll":

curl --sslv2 https://techstacks-tools.appspot.com/

Warum? Nun, in diesem Fall liegt es daran, dass die Techstacks-Tools-Site SSLv2 nicht unterstützt, wodurch der curl (35) -Fehler generiert wird.

Die Zielsite mag die Chiffre nicht

Möglicherweise versuchen Sie, mithilfe einer SSL-Verschlüsselung, die von der Site abgelehnt werden soll, eine Verbindung mit der Site herzustellen.
Beispielsweise werden anonyme Verschlüsselungen in der Regel auf SSL-verschlüsselten Sites deaktiviert, die Kundenkontakt haben. (Viele von uns haben eine pauschale Ablehnungsrichtlinie für SSL-verschlüsselte Websites festgelegt - unabhängig von ihrem Zweck.)
Die folgende Befehlszeichenfolge "kann" auch zu dem Fehler curl (35) führen:

curl --ciphers ADH-RC4-MD5 https://some_web_site.some_domain.com/

Leider hängt die Art der Fehlerantwort, die Sie von curl erhalten können, weitgehend vom SSL-Server ab. Auf einigen Websites wird der Fehler "Unbekanntes SSL-Protokoll" angezeigt. Auf meiner Techstacks-Tools-Website erhalte ich jedoch Folgendes:

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Ein dickes Lob an Google, da dieser Fehler ein bisschen aussagekräftiger ist als der, den meine Websites bei der Arbeit generieren, weil dies zumindest besagt, dass ein SSL-Socket gestartet wurde, der Socket jedoch aufgrund von Handshake-Fehlern nie abgeschlossen werden konnte.

Versuchen Sie, mit einer von der Site unterstützten Verschlüsselung eine Verbindung zur Site herzustellen. Sie sind sich nicht sicher, welche Chiffre Sie verwenden sollen? Nun, lassen Sie mich meinen Cryptonark SSL-Verschlüsselungstester vorstellen ...

Der SSL Private Key ist abgelaufen

Ich bin heute auf diese gestoßen, als ich mit einer alten WebSeAL-Site arbeitete.
In IBM GSKit können Sie angeben, wie lange das Kennwort für den privaten Schlüssel gültig ist. Nach Erreichen eines bestimmten Datums können Sie weiterhin Webseal starten und Port 443 abhören (oder wie auch immer Sie Ihren https-Port-Wert festlegen), aber Sie können eine SSL-Sitzung nicht erfolgreich aushandeln.
Im heutigen Fall verwendete die alte WebSEAL-Instanz eine längst abgelaufene kdb-Datei mit einem längst abgelaufenen privaten Schlüsselkennwort. Einmal durch die richtige, aktuellere Version ersetzt, funktionierte alles wieder.

Falsche Weiterleitung

Einige Internetdienstanbieter und DNS-Anbieter fangen Ihre fehlgeschlagenen DNS-Abfragen ab, um Sie zu einer Seite im Stil von Suchmaschinenergebnissen mit alternativen URLs oder "Meinten Sie ...?" Gegenabfrageergebnisse.
Wenn Sie einen Fehler wie diesen sehen:

 error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol, 

möglicherweise haben Sie den Hostnamen falsch eingegeben oder der Hostname ist noch nicht in Ihrem DNS aufgeführt. Sie können dies mit einem einfachen "Host" oder "nslookup" überprüfen.


Hinweis (August 2015): Git 2.6+ (Q3 2015) ermöglicht die explizite Angabe der SSL-Version:

http: Unterstützung für die Angabe der SSL-Version hinzufügen

Siehe Commit 01861cb (14. August 2015) von Elia Pinto (devzero2000) .
Geholfen von: Eric Sunshine (sunshineco) .
(Zusammengeführt von Junio ​​C Hamano - gitster - in commit ed070a4 , 26. August 2015)

http.sslVersion

Die beim Aushandeln einer SSL-Verbindung zu verwendende SSL-Version, wenn Sie die Standardeinstellung erzwingen möchten.
Die verfügbare und die Standardversion hängen davon ab, ob libcurl gegen NSS oder OpenSSL erstellt wurde und welche Konfiguration der verwendeten Kryptobibliothek verwendet wird. Intern setzt dies die Option 'CURLOPT_SSL_VERSION'; Weitere Informationen zum Format dieser Option und zur unterstützten SSL-Version finden Sie in der libcurl-Dokumentation.
Tatsächlich sind die möglichen Werte dieser Option:

  • sslv2
  • sslv3
  • tlsv1
  • tlsv1.0
  • tlsv1.1
  • tlsv1.2

Kann durch die Umgebungsvariable 'GIT_SSL_VERSION' Überschrieben werden.
Um git zu zwingen, die Standard-SSL-Version von libcurl zu verwenden und explizite http.sslversion - Optionen zu ignorieren, setzen Sie 'GIT_SSL_VERSION' auf den leeren String.

54
VonC

Das Einstellen der folgenden Git-Einstellung hat dies für mich behoben

git config --global --add http.sslVersion tlsv1.0

Ich vermute, der Firmenproxyserver mochte das Standardverschlüsselungsprotokoll nicht.

19
Robert Wagner

In vielen Fällen ist dies mit Proxy-Problemen verbunden. Wenn ja, konfigurieren Sie einfach Ihren Git-Proxy

git config --global http.proxy Host:PORT
14
Lho Ben

Dieser Fehler tritt auch auf, wenn der Server ausgefallen ist. E-Mail vom technischen Support zu diesem Problem:

"Wir hatten einen Ausfall, der den Datenverkehr auf der Website sowie den Mercurial- und Git-Datenverkehr über HTTPS beeinträchtigte. SSH war davon jedoch nicht betroffen. Weitere Informationen finden Sie auf dieser Seite:

http://status.bitbucket.org/ "

Also versuchen Sie es später noch einmal und es könnte von selbst klappen. Hat für mich getan

5
Aggressor

Ich habe das hinter einen Konzern-Proxy gestellt.

Gelöst von:

git config http.sslVerify "false"

5
John Fouhy

Ich war mit diesem Problem konfrontiert, als ich die Versionskontrolle in Android= Studio 2.1.3) verwendete. Das Szenario lautete wie folgt:

1- Ich öffnete das IDE und klickte auf das "Update/Pull" -Symbol (Strg + T)

2- Es wurde nicht nach dem Master-Passwort gefragt und es ist fehlgeschlagen.

Unknown SSL protocol error in connection to bitbucket.org:443

3- Ich habe versucht, das Repository abzurufen (Rechtsklick> Git> Repository> Abrufen)

4- Es hat mich nach dem Master-Passwort gefragt und ich habe es eingegeben

5- es hat versucht zu holen, aber es ist immer wieder und immer wieder fehlgeschlagen

6- i neu gestartet Android Studio

7- Ich habe versucht, das Repository abzurufen (Rechtsklick> Git> Repository> Abrufen)

8- es hat mich nach dem Master-Passwort gefragt und ich habe es eingegeben

9-jetzt sind die Dinge OkayAlles geht gut

Fazit :

vielleicht Android Studio benötigt das Master-Passwort zuerst, bevor Git-Aktionen ausgeführt werden können. Andernfalls schlägt das Programm auch dann fehl, wenn Sie später nach dem Master-Passwort gefragt werden. Ich weiß nicht, wie es aussah mich

1

Ich habe das gleiche Problem. Mit der letzten Version von Git und ohne Proxy.

Ich habe es repariert:

  • melde dich im GitHub an
  • geben Sie die Schnittstelle "Persönliche Einstellungen" ein und klicken Sie auf "SSH-Schlüssel". Überprüfen Sie, ob Sie die vom Befehl generierte Datei "id_rsa.pub" eingegeben haben
  • 'ssh-keygen -t rsa' auf Windows in Github -> GIT BASH
  • 'SSH-Schlüssel hinzufügen' und 'id_rsa.pub' einfügen.

Weitere Informationen: Erstellen Sie den Schlüssel

Kopieren Sie den Schlüssel

1
AFetter

Wenn Sie auf "Unbekannter SSL-Protokollfehler in Verbindung mit bitbucket.org:443" stoßen und sich in China befinden, wurde github möglicherweise vorübergehend von der Firewall blockiert. Sie können versuchen, VPN zu verwenden, was funktionieren würde. Viel Glück!

0
zjwzcn07

Ich hatte das gleiche Problem, versuchte alle ändernden SSL-Einstellungen, die hier zur Verfügung gestellt werden. Wenn Sie sich im Unternehmensnetzwerk befinden und SSH-Schlüssel in Tools wie Gerrit verwendet werden. 1. Holen Sie sich Ihren SSH-Schlüssel. 2. Besuchen Sie Bitbucket und navigieren Sie zu Profil >> Einstellungen >> SSH-Schlüssel >> Schlüssel hinzufügen.

Versuchen Sie nach dem Hinzufügen der SSH-Taste erneut, die Taste zu drücken.

0
Tugrul ASLAN

Ich benutze tortoiseGit. Ich hatte das gleiche problem Dann habe ich in den Push-Einstellungen " Autoload PuTTY-Taste " deaktiviert, versucht, zu pushen, dann habe ich es erneut überprüft und gepusht, und es hat funktioniert. Aber im Ernst, ich weiß nicht warum.

0
Prusdrum

Ich konnte es lösen, indem ich lief

git config --list --show-Origin

und dann sah ich, dass ich eine Zeile hatte:

datei: c: /Users/user/.gitconfig http.sslversion = sslv3

Ich habe die Datei c: /Users/user/.gitconfig bearbeitet und die Zeile [http] und die Zeile sslversion = sslv3 gelöscht, und das hat es für mich behoben.

execute

nc -v -z <git-repository> <port>

ihr Ausgang sollte so aussehen

"Connection to <git-repository> <port> port [tcp/*] succeeded!"

wenn du bekommst

connect to <git-repository> <port> (tcp) failed: Connection timed out

Sie müssen Ihre ~/.ssh/config - Datei bearbeiten. Füge etwas wie das Folgende hinzu:

Host example.com
Port 1234
0
ameen

2 Computer haben,

die Nummer eins ist mein Unternehmenslabor, das über VPN mit unserem Unternehmensnetzwerk verbunden ist. Das ist so, als ob man sich innerhalb des Unternehmens hinter großen Firewalls und einer Reihe von Routern befindet, auf denen Leute, intern und extern (sogar Telekommunikation) im Netzwerk und in der Firewall herumtüfteln Passwort und selbst dann funktioniert es manchmal und manchmal nicht.

d.h. ich kann mit SVN JSVN MAVEN-Downlaods, ANT-Downloads und git clone http: // git ... repos durch die Firewall greifen.

Aber ich kann nicht Git-Klon tun https: // git ... Repo. In diesem letzten Fall erhalte ich diesen Fehler.

Der zweithäufigste Computer vor Ort ist mein kleiner Labortisch von zu Hause aus, nichts Besonderes, der über WAN mit dem WWW verbunden ist und mit den oben genannten Tools und dem Git-Klon alles erledigt - https: // git ... Repo funktioniert wie ein Schnupfen, ohne etwas Besonderes zu tun.

Fazit: Hinter einer "irgendwie gemanagten Firewall" zu sitzen ist oft der Grund für Probleme. Um das herauszufinden, nehmen Sie Ihren kleinen ungeschützten Labortisch mit und haben eine WWW-Verbindung von zu Hause aus. Wenn dies funktioniert, verschwenden Sie keine Zeit mit Ihren Sicherheitsleuten Fall, und vielleicht können Sie mit einem tragbaren Laufwerk die geklonten Git Repo teilen.

Josef - alt werden mit Zeitverschwendung in solchen Situationen ;-)

0
stadelma

Der HTTP-Proxy des Unternehmens, hinter dem ich mich gerade befinde, gibt sporadisch diesen Fehler aus. Ich kann das Problem beheben, indem ich einfach bitbucket.org in einem Browser besuche und den Befehl erneut schreibe. Habe keine Ahnung warum das funktioniert, aber es behebt es für mich (zumindest vorübergehend).

0

Dieser Fehler passiert mir, wenn ich eine große Menge von Quellen (fast 700 MB) pushe, dann versuche ich, es teilweise zu pushen und es wurde erfolgreich gepusht.

0
Wildan Muhlis