Das SSL-Zertifikat hat den Versuch abgelehnt, über HTTPS hinter der Firewall auf GitHub zuzugreifen
Ich bin stecken hinter einer firewall, so müssen für die Verwendung von HTTPS für den Zugriff auf meine GitHub-repository. Ich bin mit cygwin 1.7.7 auf Windows XP.
Ich habe versucht Einstellung der Fernbedienung, um https://[email protected]/username/ExcelANT.git
, aber drängen Sie aufgefordert, ein Kennwort, aber nicht alles tun, einmal habe ich es eingetragen.
https://username:<password>github.com/username/ExcelANT.git
und Klonen des leeren repo von Grund auf neu jedes mal aber es gibt mir den gleichen Fehler
Fehler: SSL-Zertifikat problem, stellen Sie sicher, dass das CA cert is OK. Details:
Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed beim Zugriff auf https://github.com/username/ExcelANT.git/info/refs
Einschalten GIT_CURL_VERBOSE=1
gibt mir
* Über ein connect() auf github.com port 443 (#0)
* Versuchen 207.97.227.239... * erfolgreich certificate verify locations:
* CAfile: keine
CApath: /usr/ssl/certs
* SSL-Zertifikat problem, stellen Sie sicher, dass das CA cert is OK. Details:
Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Verfällt deaktiviert
* Closing connection #0
* About to connect() to github.com port 443 (#0)
* Versuchen 207.97.227.239... * erfolgreich certificate verify locations:
* CAfile: keine
CApath: /usr/ssl/certs
* SSL-Zertifikat problem, stellen Sie sicher, dass das CA cert is OK. Details:
Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
* Verfällt deaktiviert
* Closing connection #0
Fehler: SSL-Zertifikat problem, stellen Sie sicher, dass das CA cert is OK. Details:
Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed beim Zugriff auf https://github.com/username/ExcelANT.git/info/refs
fatal: HTTP request failed
Ist das ein problem mit meiner firewall, cygwin oder was?
Ich hatte nicht setzen Sie den HTTP-proxy in der Git-config, jedoch ist es ein ISA-server, muss die NTLM-Authentifizierung, nicht die basic, also, wenn jemand weiß, wie zu zwingen, git zu verwenden NTLM, ich bin vereitelt werden.
InformationsquelleAutor der Frage oharab | 2010-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fühlen Sie sich frei zu überspringen, diese Antwort, wenn Sie möchten, zu beheben, die Zertifikate ausstellen. Diese Antwort beschäftigt sich mit tunneling ssh durch die firewall, die ist IMHO eine bessere Lösung für den Umgang mit der firewall - /proxy-Dinger.
Gibt es einen besseren Weg, als mit den http-Zugriff, und das ist die Verwendung des ssh-service von github auf port 443 ssh.github.com server.
Verwenden wir ein tool namens Korkenzieher. Dies ist sowohl für CygWin (über setup von der cygwin homepage) und Linux mit Ihrer Lieblings-Verpackung-tool. Für MacOSX ist verfügbar, von macports und brew zumindest.
Die Kommandozeile ist wie folgt :
Den proxyhost und proxyport sind die Koordinaten des https-proxy. Die targethost und targetport ist der Ort, von dem host zu Tunneln. Das authfile ist ein textfile mit 1 Zeile mit Ihrem proxy-server Benutzername/Kennwort durch einen Doppelpunkt getrennt
e.g:
Installation für die Verwendung von "normalen" ssh-Protokoll für git Kommunikation
Werden, indem diese die
~/.ssh/config
dieser trick kann verwendet werden, für den normalen ssh-verbindungen.nun können Sie testen, es funktioniert durch die ssh-ing zu gitproxy
(Hinweis: wenn Sie noch nie eingeloggt auf github vor, ssh fragt nach, fügen Sie die server-Taste, um die bekannte hosts-Datei. Wenn Sie paranoid sind, ist es empfehlenswert zu überprüfen, den RSA Fingerabdruck auf der Abbildung auf der github-Seite, wo Sie hochgeladen haben Ihren Schlüssel).
Eine leichte Variante dieser Methode ist das der Fall, wenn Sie benötigen Zugriff auf ein repository mit einer anderen Taste, z.B. zum trennen Ihr privates Konto von Ihr professional-Konto.
genießen!
Wir haben mit diesem seit Jahren auf Linux, Mac und Windows.
Wenn Sie möchten, können Sie Lesen Sie mehr darüber in diesem blog-post
InformationsquelleAutor der Antwort Peter Tillemans
Das problem ist, dass Sie nicht alle Zertifikate auf Ihrem system installiert. Und diese certs nicht installiert werden kann mit cygwin ist setup.exe.
Update: Installieren Sie Net/ca-certificates Paket in cygwin (Dank dirkjot)
Gibt es zwei Lösungen:
Tatsächlich installieren, die root-Zertifikate. Curl Jungs extrahiert, für die Sie Zertifikate von Mozilla.
cacert.pem
Datei ist, was Sie suchen. Diese Datei enthält > 250-CA-CERT (weiß nicht, wie zu Vertrauen Sie diese Zahl von ppl). Sie müssen diese Datei herunterladen, aufgeteilt auf die einzelnen Zertifikate stellen Sie nach /usr/ssl/certs (Ihr CApath) und index.Hier ist, wie es zu tun. Mit cygwin setup.exe installieren von curl und openssl-Pakete
Ausführung:
Wichtig: um
c_rehash
haben Sie die Installationopenssl-perl
zu.Ignorieren SSL-Zertifikat-Verifizierung.
WARNUNG: die Deaktivierung SSL-Zertifikat die überprüfung hat Auswirkungen auf die Sicherheit. Ohne die überprüfung der Authentizität von SSL - /HTTPS-verbindungen, die ein böswilliger Angreifer kann die Identität eines vertrauenswürdigen Endpunkt (wie GitHub oder eine andere remote-Git-host), und Sie werden anfällig für eine Man-in-the-Middle-Angriff. Werden Sie sicher, dass Sie vollständig verstehen, die Sicherheitsprobleme und Bedrohung Modell, bevor Sie diese als Lösung.
InformationsquelleAutor der Antwort Alexey Vishentsev
Hinweis: deaktivieren der SSL-überprüfung hat Auswirkungen auf die Sicherheit. Es ermöglicht den Menschen in der Middle-Angriffe, wenn Sie Git verwenden, zur übertragung von Daten über ein Netzwerk. Werden Sie sicher, dass Sie vollständig verstehen, die Auswirkungen auf die Sicherheit, bevor Sie diese als Lösung. Oder noch besser, installieren Sie die root-Zertifikate.
Eine Möglichkeit ist das deaktivieren der SSL-Zertifikat-Verifizierung:
Dadurch wird verhindert, CURL zu verity die HTTPS-Zertifizierung.
Für ein repository nur:
InformationsquelleAutor der Antwort Yi Zhao
Wollte ich Git zu verwenden das aktualisierte Zertifikat-bundle ohne Austausch von meinem gesamten system verwendet. Hier ist, wie Sie Git verwenden, eine bestimmte Datei in meinem home-Verzeichnis:
Nun update
.gitconfig
dies für peer-überprüfung:Hinweis: ich bin mit einem absoluten Pfad. Git hat keine Pfad-Erweiterung hier, so dass Sie nicht verwenden können
~
ohne ein hässliches Durcheinander. Alternativ, überspringen Sie die config-Datei und den Pfad über die UmgebungsvariableGIT_SSL_CAINFO
statt.Um dies zu beheben, legen Sie
GIT_CURL_VERBOSE=1
. Der Pfad der CA-Datei, die Git verwenden, wird gezeigt werden, auf Zeilen, beginnend mit "CAfile:" in der Ausgabe.InformationsquelleAutor der Antwort kenchilada
Beachten Sie, dass für mich zu dieser Arbeit (RVM Installation auf CentOS 5.6), musste ich Folgendes ausführen:
export GIT_SSL_NO_VERIFY=true
und nach, dass die standard-Installation Prozedur für curling die RVM-installer in bash funktionierte 🙂
InformationsquelleAutor der Antwort seanp2k
Eine sehr einfache Lösung: ersetzen https://mit git://
Mithilfe von git://die.repository statt https://the.repository und arbeiten.
Ich habe dieses problem unter Windows mit TortoiseGit und diese gelöst.
InformationsquelleAutor der Antwort klodoma
Als die beliebteste Antwort (von Alexey Vishentsev) hat es:
Jedoch, dass die Letzte Behauptung ist falsch (jetzt oder schon immer, weiß ich nicht).
Alles, was Sie tun müssen ist, gehen Sie auf cygwin setup und beinhalten das Paket 'ca-certificates' (unter Net). Dies hat den trick für mich.
InformationsquelleAutor der Antwort dirkjot
Kenne ich die ursprüngliche Frage-Listen Cygwin, aber hier ist die Lösung für CentOS:
Quelle: http://eric.lubow.org/2011/security/fixing-centos-root-certificate-authority-issues/
InformationsquelleAutor der Antwort Herman J. Radtke III
Auf CentOS 5.x, eine einfache
yum update openssl
aktualisiert die openssl-Paket aktualisiert das systemca-bundle.crt
Datei und behoben das problem für mich.Das gleiche gilt für andere Distributionen.
InformationsquelleAutor der Antwort Wayne Walker
Wenn alles, was Sie tun möchten, ist einfach die Verwendung der Cygwin git-client mit github.com es gibt einen viel einfacheren Weg, ohne zu gehen durch den Aufwand für das herunterladen, extrahieren, konvertieren, aufteilen cert-Dateien. Gehen Sie wie folgt vor (ich gehe davon aus, dass Windows XP mit Cygwin und Firefox)
Das ist es.
Natürlich nur installiert cert Hierarchie, die Sie brauchen für github. Natürlich können Sie diese Methode mit einer anderen Website ohne die Notwendigkeit zu installieren, 200 certs von Websites, die Sie nicht (unbedingt) Vertrauen.
InformationsquelleAutor der Antwort esquifit
Klonen unter windows während der Einstellung SSL-verify auf false:
Wenn Sie möchten, zu Klonen ohne borfing Ihre globalen Einstellungen.
InformationsquelleAutor der Antwort FlavorScape
Wenn Sie auf Mac OS X installieren Sie das ca-cert-bundle über
homebrew
:Den Formel installiert die cert-bundle share via:
Den
share
Methode ist nur ein alias zu/usr/local/share
, und die curl-ca-bundle wird durchMozilla
. Es ist, was Sie sehen, auf das verwiesen wird, in der eine Menge von Fragen. Hoffe das hilft, da es nicht sehr einfach, wie man diesen Ansatz auf Mac OS X.brew install curl
ist nicht zu bekommen Sie viel entweder, wie es ist keg nur und wird nicht mit (läuftwhich curl
wird immer ausgegeben/usr/bin/curl
, das ist die Standardeinstellung, die Schiffe mit Ihrem OS). Dieser Beitrag kann auch von einigem Wert sein.Werden Sie natürlich brauchen, deaktivieren Sie SSL vor der Installation
homebrew
da es ein git-repo. Tun Sie einfach, was LOCKE sagt, wenn es Fehler bei der SSL-Verifizierung und:Sobald Sie
homebrew
installiert zusammen mit dercurl-ca-bundle
löschen.curlrc
und versuchen Klonen ein repo auf github. Sicherstellen, dass keine Fehler vorhanden sind, und Sie werden gut zu gehen.HINWEIS: Wenn Sie resort zu
.curlrc
bitte entfernen Sie es von Ihrem system, sobald Sie den Test beendet haben. Diese Datei können größere Probleme verursachen, so verwenden Sie es für temporäre Zwecke und mit Vorsicht.brew doctor
beschweren, im Falle dass Sie vergessen zu reinigen, es von Ihrem system).HINWEIS: Wenn Sie aktualisieren Sie Ihre version von git, müssen Sie erneut ausführen dieses Befehls, da Sie Ihre system-Einstellungen werden vernichtet (Sie gespeichert sind, die relativ zu dem git-binary basiert auf der version).
Also nach der Ausführung:
Wenn Sie eine neue version von git ist, dann einfach erneut ausführen:
, Und Sie werden alle gesetzt.
Schließlich, wenn Sie eine neue version von git, Ausführung:
sollte Ihnen ein Fehler entlang der Linien von
fatal: unable to read config file '/usr/local/Cellar/git/1.8.2.2/etc/gitconfig'
ist dein Tipp, dass Sie sagen müssen, git, wo sich die Mozilla-ca-bundle.
UPDATE:
.curlrc
werden können oder nicht, die Abhilfe für Ihr problem. In jedem Fall, nur um die Mozilla-ca-bundle installiert auf Ihrem Computer, ob Sie haben, um manuell laden Sie es oder nicht. Das ist es, was hier wichtig. Sobald Sie das ca-bundle, du bist gut zu gehen. Führen Sie einfach den git config Befehl und zeigen Sie git für die die ca-bundle.UPDATE
Kurzem hatte ich hinzufügen:
export CURL_CA_BUNDLE=/usr/local/share/ca-bundle.crt
zu meinem.zshenv
dot-Datei da bin ich mitzsh
. diegit config
option gearbeitet, die für die meisten Fälle, aber beim Auftreffen auf github über SSL (rvm get stable
zum Beispiel), ich lief noch in zertifikatsprobleme. @Maverick wies dies in seinem Kommentar, aber nur für den Fall, dass sich jemand findet oder es übernimmt, die Sie nicht unbedingt benötigen, exportieren Sie diese variable zusätzlich zur Ausführung dergit config --system....
Befehl. Vielen Dank und ich hoffe, das hilft.UPDATE
Sieht es aus wie die curl-ca-bundle war kürzlich entfernt von homebrew. Es ist ein Empfehlung hier.
Werden Sie wollen, um die drop ein paar Dateien in:
$(brew --prefix)/etc/openssl/certs
InformationsquelleAutor der Antwort A-Dubb
Behob ich das problem mit Hilfe von apt-cyg (ein großer installer, ähnlich wie apt-get)
einfach herunterladen, die ca-Zertifikate (einschließlich Git und viele mehr):
Hinweis: apt-cyg sollte zuerst installiert werden. Dazu können Sie aus Windows
Befehlszeile:
Schließen Sie den Windows-Befehl cmd ein, und öffnen Sie ein Cygwin Bash:
InformationsquelleAutor der Antwort sagunms
auf einem rasbery pi hatte ich
pi@raspbmc:~$ git clone http: //github.com/andreafabrizi/Dropbox-Uploader .git
Klonen in 'Dropbox-Uploader'...
Fehler: Problem with the SSL CA cert (path? Zugriffsrechte?) beim Zugriff auf http://github.com/andreafabrizi/Dropbox-Uploader.git/info/refs
fatal: HTTP request failed
id so ein
dann
gearbeitet
InformationsquelleAutor der Antwort fred
Wenn du mit debian-basierten Betriebssystemen, können Sie einfach starten Sie
InformationsquelleAutor der Antwort Patrick
Habe ich das gleiche problem für Solaris Express 11. Es dauerte eine Weile, aber ich schaffte zu finden, wo die Zertifikate abgelegt werden. Laut /etc/openssl/openssl.cnf der Pfad für Zertifikate ist /etc/openssl/certs. Ich legte die Zertifikate, die mit Hilfe der Ratschläge von Alexey.
Können Sie überprüfen, dass die Dinge funktionieren mit openssl auf der commandline:
InformationsquelleAutor der Antwort Martin Smith
Versuchen Sie es mit einem .netrc-Datei wird die Authentifizierung über https. Erstellen Sie eine Datei aufrufen
.netrc
in Ihrem home-Verzeichnis und setzen Sie diese in es:Siehe diesen Beitrag für mehr Informationen:
https://plus.google.com/u/0/104462765626035447305/posts/WbwD4zcm2fj
InformationsquelleAutor der Antwort Travis Reeder
Verbessern RouMao die Lösung, indem Sie Sie vorübergehend deaktivieren GIT/curl-ssl-überprüfung in Windows-cmd:
Das gute an dieser Lösung ist, dass es nur wirksam wird, in der aktuellen cmd-Fenster.
InformationsquelleAutor der Antwort Marshal
Haben Sie überprüft Ihre Zeit?
Ich absolut ablehnte, meine git-Operationen unsicher und nach dem Versuch alles, was die Leute hier erwähnt, dabei ist mir aufgefallen, dass eine mögliche Ursache, warum Zertifikate fail-pass-Prüfung ist, dass die Daten falsch sind (entweder das Zertifikat Ablaufdatum, oder der lokalen Uhr).
Können Sie das einfach überprüfen durch die Eingabe von
date
in einem terminal. In meinem Fall (ein neues raspberry Pi), die lokale Uhr wurde eingestellt, um 1970, so dass eine einfachentpdate -u 0.ubuntu.pool.ntp.org
festen alles. Für ein rPi, würde ich auch empfehlen, dass Sie das folgende Skript in einem täglichen cron-job (sagen/etc/cron.daily/ntpdate
):InformationsquelleAutor der Antwort Deiu
Ich hatte das gleiche problem, konfigurieren Sie Git auf einem kollaborativen Entwicklungsplattform, die ich zu bewältigen haben.
Es zu lösen :
Ich habe Aktualisiert die Version von Curl auf dem server installiert. Laden Sie die Letzte version auf der website Download-Seite von curlund Folgen Sie den Installations-Verfahren Installation proceedings of curl
Erhalten Sie das Zertifikat der Behörde, liefert das Zertifikat für den server.
Fügen Sie das Zertifikat der CAcert-Datei, die von curl. Auf meinem server befindet sich in
/etc/pki/tls/certs/ca-bundle.crt
.Konfigurieren Sie git verwenden, das Zertifikat-Datei, indem Sie .gitconfig Datei und legen Sie die sslcainfo Weg.
sslcainfo= /etc/pki/tls/certs/ca-bundle.crt
Auf dem client-Rechner müssen Sie das Zertifikat zu erhalten und konfigurieren .gitconfig-Datei zu.
Ich hoffe das hilft einigen von Euch.
InformationsquelleAutor der Antwort G. Pfeiffer
Ich habe alles versucht, schließlich sah ich in der hosts-Datei und es war ein zufälliger Eintrag gibt es bei github. Entfernen Sie das alias-problem behoben, durch das
%systemroot%\system32\drivers\etc\hosts
InformationsquelleAutor der Antwort GenericEventHandler
Habe ich einfach deaktiviert die SSL-Zertifikat-Authentifizierung und verwendet das einfache Benutzer-Namen und Passwort anmelden, wie unten gezeigt
InformationsquelleAutor der Antwort aabdulwahed
Ich brauchte die Zertifikate nur für Cygwin git also Tat ich, was @esquifit gepostet. Ich musste allerdings führen Sie Schritt 5 manuell, c_rehash war nicht auf meinem system verfügbar. Ich folgte dieser Anleitung: Installation der CA-Zertifikate in OpenSSL-framework statt.
InformationsquelleAutor der Antwort Sonata
Brauchte ich zwei Dinge:
gehen Sie auf cygwin setup und beinhalten das Paket "ca-Zertifikate " (es ist unter Netto -) (wie anderswo).
Erzählen git wo finden Sie die installierten Zertifikate:
GIT_SSL_CAINFO=/usr/ssl/certs/ca-bundle.crt GIT_CURL_VERBOSE=1 git ...
(Verbose-option ist nicht erforderlich)
Oder speichern die option permanent zu aktivieren:
git config --global http.sslCAinfo /usr/ssl/certs/ca-bundle.crt
git ...
InformationsquelleAutor der Antwort user2896631
Ich hatte das gleiche Problem.
Zertifikat importieren oder den Befehl unset ssl-überprüfung nicht funktioniert hat.
Schalte es aus auf sein abgelaufenes Passwort für Netzwerk-proxy.
Es war Eintrag der proxy-config. in der .gitconfig-Datei in meinem windows-Benutzer-Profil.
Ich gerade entfernt haben, wird der gesamte Eintrag und es begann wieder zu arbeiten.
InformationsquelleAutor der Antwort sap
Auf einem Mac OSX 10.5-system, ich war in der Lage, diese arbeiten mit einer einfachen Methode. Führen Sie zuerst die github-Verfahren und der test, die arbeitete für mich ok, die zeigen, dass mein Zeugnis war eigentlich ok.
https://help.github.com/articles/generating-ssh-keys
Dann bemerkte ich schließlich noch ein anderes url-format für Fernbedienungen. Ich habe versucht, die andere, vor und Sie funktionieren nicht.
http://git-scm.com/book/ch2-5.html
Einem einfachen "git push myRemoteName" hat Super funktioniert!
InformationsquelleAutor der Antwort AnneTheAgile
Ich habe vor kurzem (Juli 2014) hatte ein ähnliches Problem und fand auf OS X (10.9.4), dass es eine "DigiCert High Assurance EV Root CA" Zertifikat abgelaufen war (ich hatte zwar einen anderen noch ein).
Fand ich zwei Zertifikate mit dem Namen "DigiCert High Assurance EV Root CA", eine ablaufende Nov 2031 und die abgelaufen ist, eine im Juli 2014 (einige Tage zuvor). Löschen Sie das abgelaufene Zertifikat behoben das Problem für mich.
Hoffe, das hilft.
InformationsquelleAutor der Antwort craigb
Für diejenigen, die verwenden Msys/MinGW-GIT, fügen Sie diese
InformationsquelleAutor der Antwort John Chain