Skip to main content

Konfigurieren von SSH-Verbindungen mit deiner Instanz

Du kannst die Sicherheit von Ihre GitHub Enterprise Server-Instance erhöhen, indem du die SSH-Algorithmen konfigurierst, mit denen Clients eine Verbindung herstellen können.

Wer kann dieses Feature verwenden?

Site administrators can configure SSH connections to a GitHub Enterprise Server instance.

Informationen zu SSH-Verbindungen mit deiner Instanz

Jede GitHub Enterprise Server-Instanz akzeptiert SSH-Verbindungen über zwei Ports. Websiteadministratoren können über SSH auf die Verwaltungsshell zugreifen, dann Befehlszeilen-Hilfsprogramme ausführen, Problembehandlung und Wartung durchführen. Benutzer können eine Verbindung über SSH herstellen und in den Repositorys der Instanz auf Git-Daten zuzugreifen und sie schreiben. Benutzer haben keinen Shellzugriff auf deine Instanz. Weitere Informationen findest du in den folgenden Artikeln.

Um die SSH-Clients in deiner Umgebung zu unterstützen, kannst du die Verbindungsarten konfigurieren, die Ihre GitHub Enterprise Server-Instance akzeptiert.

Konfigurieren von SSH-Verbindungen mit RSA-Schlüsseln

Wenn Benutzer Git-Vorgänge auf Ihre GitHub Enterprise Server-Instance per SSH über Port 22 durchführen, kann sich der Client mit einem RSA-Schlüssel authentifizieren. Der Client kann den Versuch mit der SHA-1-Hashfunktion signieren. In diesem Kontext ist die SHA-1-Hashfunktion nicht mehr sicher. Weitere Informationen findest du unter SHA-1 in Wikipedia.

Standardmäßig tritt bei SSH-Verbindungen, die die beiden folgenden Bedingungen erfüllen, ein Fehler auf.

  • Der RSA-Schlüssel wurde einem Benutzerkonto auf Ihre GitHub Enterprise Server-Instance nach dem Stichtag am 1. August 2022 (Mitternacht UTC) hinzugefügt.
  • Der SSH-Client signiert den Verbindungsversuch mit der SHA-1-Hashfunktion.

Du kannst den Stichtag anpassen. Wenn der Benutzer den RSA-Schlüssel vor dem Stichtag hochgeladen hat, kann sich der Client weiterhin erfolgreich mit SHA-1 verbinden, solange der Schlüssel gültig bleibt. Alternativ kannst du alle mit einem RSA-Schlüssel authentifizierten SSH-Verbindungen ablehnen, wenn der Client die Verbindung mit der SHA-1-Hashfunktion signiert.

Unabhängig davon, welche Einstellung du für deine Instanz festlegst, können Clients weiterhin eine Verbindung mit einem beliebigen RSA-Schlüssel herstellen, der mit einer SHA-2-Hashfunktion signiert ist.

Falls du eine SSH-Zertifizierungsstelle verwendest, schlägt die Verbindung fehl, wenn das valid_after-Datum des Zertifikats nach dem Stichtag liegt. Weitere Informationen findest du unter Informationen zu SSH-Zertifizierungsstellen.

Weitere Informationen findest du unter the GitHub Blog.

  1. Melde dich über SSH bei Ihre GitHub Enterprise Server-Instance an. Wenn deine Instanz mehrere Knoten umfasst, wenn z. B. Hochverfügbarkeit oder Georeplikation konfiguriert ist, wird SSH im primären Knoten konfiguriert. Wenn du einen Cluster verwendest, kannst du SSH in einen beliebigen Knoten einfügen. Ersetzen Sie HOSTNAME durch den Hostnamen Ihrer Instanz bzw. durch den Hostnamen oder die IP-Adresse eines Knotens. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. Überprüfe mit dem Hilfsprogramm ghe-find-insecure-git-operations die Überwachungsprotokolle deiner Instanz auf Verbindungen, die unsichere Algorithmen oder Hashfunktionen verwenden. Weitere Informationen findest du unter Befehlszeilenprogramme.

  3. Mit dem folgenden Befehl kannst du einen Stichtag konfigurieren, nach dem Ihre GitHub Enterprise Server-Instance Verbindungen von Clients ablehnt, die einen nach diesem Datum hochgeladenen RSA-Schlüssel verwenden, wenn die Verbindung mit der SHA-1-Hashfunktion signiert ist. Ersetze RFC-3399-UTC-TIMESTAMP durch einen gültigen RFC-3399-UTC-Zeitstempel. Beispielsweise wird der Standardwert 1. August 2022 als 2022-08-01T00:00:00Z dargestellt. Weitere Informationen findest du auf der IETF-Website unter RFC 3339.

    $ ghe-config app.gitauth.rsa-sha1 RFC-3339-UTC-TIMESTAMP
    
  4. Um SSH-Verbindungen mit RSA-Schlüsseln, die mit der SHA-1-Hashfunktion signiert sind, vollständig zu deaktivieren, kannst du alternativ den folgenden Befehl eingeben.

    ghe-config app.gitauth.rsa-sha1 false
    
  5. 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
    
  6. Warte auf den Abschluss der Konfigurationsausführung.