Passphrase aus deiner Schlüsseldatei entfernen
Wenn du über eine Linux-Maschine mit installiertem OpenSSL verfügst, kannst du deine Passphrase entfernen.
-
Benenne deine ursprüngliche Schlüsseldatei um.
mv yourdomain.key yourdomain.key.orig
-
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.
-
Rufe das Root-Zertifikat der CA von deiner lokalen Zertifizierungsstelle ab, und stelle sicher, dass es im PEM-Format vorliegt.
-
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
-
Stelle über die SSH als der Benutzer „admin“ auf Port 122 eine Verbindung zur GitHub Enterprise Server-Verwaltungsshell her.
ssh -p 122 admin@HOSTNAME
-
Importiere das Zertifikat in den systemweiten Zertifikatsspeicher.
ghe-ssl-ca-certificate-install -c rootCA.crt
-
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis: 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
ghe-config-apply
-
Warte 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 findest du 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:
-
Sichern Sie Ihr aktuelles TLS-Zertifikatverzeichnis.
-
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
sudo update-ca-certificates --verbose --fresh
Wenn Sie Probleme oder Fragen haben, können Sie sich an Ihrer Websiteadministratoren wenden.