Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Konfigurieren von SSH-Verbindungen mit deiner Instanz

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

Who can use this feature

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 deine GitHub Enterprise Server-Instanz akzeptiert.

Konfigurieren von SSH-Verbindungen mit RSA-Schlüsseln

Wenn Benutzer Git-Vorgänge auf deine GitHub Enterprise Server-Instanz 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.

Für von GitHub Enterprise Server 3.6 und höher schlagen SSH-Verbindungen fehl, die beide der folgenden Bedingungen erfüllen.

  • Der RSA-Schlüssel wurde einem Benutzerkonto auf deine GitHub Enterprise Server-Instanz 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 deine GitHub Enterprise Server-Instanz 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. Weitere Informationen zum SSH-Zugriff findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

    $ 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 deine GitHub Enterprise Server-Instanz 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. Gib den folgenden Befehl ein, um die Konfiguration anzuwenden.

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

    ghe-config-apply
  6. Warte auf den Abschluss der Konfigurationsausführung.