Kann https-URLs nicht mit Git klonen

Kann https-URLs nicht mit Git klonen

Nach dem Upgrade auf Fedora 27 kann ich keine URLs mehr mit https klonen, ssh funktioniert einwandfrei. Der Fehler ist:

fatal: Zugriff nicht möglich 'https://repo-url': SSL-Zertifikatproblem: Lokales Ausstellerzertifikat kann nicht abgerufen werden

Ich habe nichts geändert und mein /etc/pki-Verzeichnis ist fast dasselbe wie das eines Freundes, der immer noch F26 verwendet.

Ich habe es schon versucht:

  • Neuinstallation von Git (2.14.3-2.fc27)
  • CA-Zertifikate neu installieren (2017.2.16-4.fc27)
  • Festlegen der Git-Option sslCaInfo auf /etc/pki/tls/cert.pem

Irgendwelche anderen Ideen?

Antwort1

Hier sind meine Ideen (ich würde vorschlagen, es nach jedem Schritt erneut zu versuchen, damit Sie aufhören können, wenn Ihr Problem behoben ist):

  1. Installieren Sie git-core neu (da es die relevante Komponente enthält: /usr/libexec/git-core/git-remote-https. Ich habe straceund verwendet, dnf providesum das herauszufinden)
  2. CA-Zertifikate neu installieren (sollte Version 2017.2.16 sein)
  3. Gehen Sie zu /etc/pki/ca-trust/extracted/pemund benennen Sie die Datei um tls-ca-bundle.pem. (Warnung: Dadurch werden die meisten Ihrer SSL-Sachen vorübergehend beschädigt. Denken Sie daran, sie später wieder auf den ursprünglichen Namen umzubenennen.) Ändert sich die Ausgabe git clone? Bei mir lautet sie: fatal: unable to access 'https://github.com/some_git': error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none
  4. Suchen Sie alle Pakete, von denen Git abhängt sudo dnf repoquery --requires --resolve git(dies kann einige Zeit dauern) und installieren Sie sie neu.

Antwort2

Der Fehler kommt vom anderen Ende (dem repo-url). Sie benötigen auf Ihrer Seite kein Zertifikat.

Der repoWebserver ist falsch konfiguriert (oft falsche Reihenfolge in der Zertifikatskette oder einfach falscher Typ). Er versucht, ein eigenes Zertifikat zu erhalten, um die SSL-Verbindung zu initialisieren, aber das schlägt fehl und gibt diesen Fehler zurück. Der gitServer schreibt einfach den Fehler aus, daher ist das verwirrende „*local“ aus Ihrer Sicht nicht vorhanden.

verwandte Informationen