Skip to main content

Problembehandlung bei TLS-Fehlern

Bei TLS-Problemen mit deiner Appliance kannst du Maßnahmen ergreifen, um diese zu beheben.

Passphrase aus deiner Schlüsseldatei entfernen

Wenn du über eine Linux-Maschine mit installiertem OpenSSL verfügst, kannst du deine Passphrase entfernen.

  1. Benenne deine ursprüngliche Schlüsseldatei um.

    mv yourdomain.key yourdomain.key.orig
    
  2. Generiere einen neuen Schlüssel ohne eine Passphrase.

    openssl rsa -in yourdomain.key.orig -out yourdomain.key
    

Wenn du diesen Befehl ausführst, wirst du aufgefordert, die Passphrase des Schlüssels einzugeben.

Weitere Informationen zu OpenSSL findest du in der Dokumentation zu OpenSSL.

TLS-Zertifikat oder -Schlüssel in das PEM-Format umwandeln

Wenn du OpenSSL installiert hast, kannst du den Schlüssel mit dem Befehl openssl in das PEM-Format umwandeln. Beispielsweise kannst du einen Schlüssel vom DER- in das PEM-Format umwandeln.

openssl rsa -in yourdomain.der -inform DER -out yourdomain.key -outform PEM

Andernfalls kannst du das SSL Converter-Tool verwenden, um dein Zertifikat in das PEM-Format umzuwandeln. Weitere Informationen findest du in der Dokumentation des SSL-Konvertertools.

Nicht antwortende Installation nach dem Hochladen eines Schlüssels

Wenn Ihre GitHub Enterprise Server-Instance nach dem Hochladen eines TLS-Schlüssels nicht mehr reagiert, kontaktiere den GitHub Enterprise-Support mit den entsprechenden Details, einschließlich einer Kopie deines TLS-Zertifikats. Vergewissere dich, dass dein privater Schlüssel nicht enthalten ist.

Zertifizierungsgültigkeitsfehler

Clients wie Webbrowser und die Git-Befehlszeile zeigen eine Fehlermeldung an, wenn die Gültigkeit eines TLS-Zertifikats nicht verifiziert werden kann. Dies ist oftmals bei selbstsignierten Zertifikaten und bei „verketteten Root“-Zertifikaten der Fall, die von einem Root-Zwischenzertifikat ausgestellt wurden, das vom Client nicht anerkannt wird.

Wenn du ein von einer Zertifizierungsstelle (CA) signiertes Zertifikat verwendest, muss die von dir auf GitHub Enterprise Server hochgeladene Zertifikatsdatei eine Zertifikatskette mit dem Root-Zertifikat der CA enthalten. Verkette zum Erstellen einer solchen Datei deine gesamte Zertifikatskette (oder „Zertifikats-Bundle“) am Ende deines Zertifikats, um sicherzustellen, dass das Hauptzertifikat mit deinem Hostnamen zuerst angezeigt wird. Auf den meisten Systemen kannst du dazu einen Befehl ausführen, der folgendem ähnelt:

cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt

Du solltest ein Zertifikatsbundle (z. B. bundle-certificates.crt) von deiner Zertifizierungsstelle oder deinem TLS-Anbieter herunterladen können.

Selbstsignierte oder Root-Zertifikate von nicht vertrauenswürdigen Zertifizierungsstellen (CA) installieren

Wenn deine GitHub Enterprise Server-Appliance mit anderen Maschinen in deinem Netzwerk interagiert, die ein selbstsigniertes oder nicht vertrauenswürdiges Zertifikat verwenden, musst du das Root-Zertifikat der signierenden CA in den systemweiten Zertifikatsspeicher importieren, um über HTTPS auf diese Systeme zugreifen zu können. Um ein von einer internen Zertifizierungsstelle signiertes Zertifikat zu verwenden, musst du das Stammzertifikat und alle Zwischenzertifikate installieren.

  1. Rufe das Root-Zertifikat der CA von deiner lokalen Zertifizierungsstelle ab, und stelle sicher, dass es im PEM-Format vorliegt.

  2. Kopiere über die SSH als der Benutzer „admin“ auf Port 122 die Datei auf deine GitHub Enterprise Server-Appliance.

    scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
    
  3. Stelle über die SSH als der Benutzer „admin“ auf Port 122 eine Verbindung zur GitHub Enterprise Server-Verwaltungsshell her.

    ssh -p 122 admin@HOSTNAME
    
  4. Importiere das Zertifikat in den systemweiten Zertifikatsspeicher.

    ghe-ssl-ca-certificate-install -c rootCA.crt
    
  5. Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.

    Note

    Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.

    Shell
    ghe-config-apply
    
  6. Warten Sie auf den Abschluss der Konfigurationsausführung.

TLS-Zertifikat aktualisieren

Du kannst ein neues selbstsigniertes Zertifikat generieren oder mit dem Befehlszeilenprogramm ghe-ssl-certificate-setup ein vorhandenes TLS-Zertifikat für Ihre GitHub Enterprise Server-Instance aktualisieren. Weitere Informationen finden Sie unter Befehlszeilenprogramme.

Beheben von Problemen mit der Serverkommunikation nach dem Aktualisieren eines TLS-Zertifikats

Wenn nach dem Aktualisieren eines Zertifikats Probleme mit der Kommunikation oder andere Problemen auf Ihrem Server auftreten, fehlen möglicherweise Dateien oder Symlinks in der Installation. Überprüfen Sie die Ausgabe ihres Webprotokolls auf die folgende Nachricht.

 certificate verify failed (unable to get issuer certificate)

Wenn diese Nachricht angezeigt wird, gibt es wahrscheinlich fehlende oder falsch konfigurierte Zertifikate. Dies kann verhindern, dass die Dienste der Anwendung miteinander kommunizieren.

So beheben Sie dieses Problem:

  1. Sichern Sie Ihr aktuelles TLS-Zertifikatverzeichnis.

  2. Führen Sie den folgenden Befehl aus, um Zertifikate und Inhalte zu aktualisieren, die möglicherweise im /etc/ssl/certs-Verzeichnis fehlen.

    Shell
    sudo update-ca-certificates --verbose --fresh
    

Wenn Sie Probleme oder Fragen haben, können Sie sich an Ihrer Websiteadministratoren wenden.