Informationen zu SSH-Zertifizierungsstellen

Mit einer SSH-Zertifizierungsstelle kann Deine Organisation oder Dein Enterprise-Konto SSH-Zertifikate bereitstellen, mit denen Mitglieder mit Git auf Deine Ressourcen zugreifen können.

Support for SSH certificate authorities is available with GitHub Enterprise Cloud, GitHub AE, and GitHub Enterprise Server 2.19+. Weiter Informationen findest Du unter „GitHub Produkte."

Ein SSH-Zertifikat ist ein Mechanismus, mit dem ein SSH-Schlüssel einen anderen SSH-Schlüssel signieren kann. Wenn Du eine SSH-Zertifizierungsstelle (CA) verwendest, um den Mitgliedern Deiner Organisation signierte SSH-Zertifikate bereitzustellen, kannst Du die Zertifizierungsstelle zu Deinem Enterprise-Konto oder Deiner Organisation hinzufügen, damit die Organisationsmitglieder mit ihren Zertifikaten auf die Ressourcen der Organisation zugreifen können. Weitere Informationen findest Du unter „SSH-Zertifizierungsstellen Deiner Organisation verwalten.“

Wenn Du eine SSH-Zertifizierungsstelle zu Deiner Organisation oder Deinem Enterprise-Konto hinzugefügt hast, kannst Du mit der Zertifizierungsstelle Client-SSH-Zertifikate für Organisationsmitglieder signieren. Organisationsmitglieder können mit den signierten Zertifikaten mit Git auf die Repositorys Deiner Organisation (und nur auf diese) zugreifen. You can require that members use SSH certificates to access organization resources.

Du kannst beispielsweise ein internes System einrichten, das jeden Morgen ein neues Zertifikat für Deine Entwickler herausgibt. Die Entwickler können mit ihrem aktuellen Zertifikat in den Repositorys Ihrer Organisation auf GitHub AE arbeiten. Am Ende des Tages läuft das Zertifikat automatisch ab. So werden Deine Repositorys geschützt, falls das Zertifikat zu einem späteren Zeitpunkt kompromittiert wird.

Beim Herausgeben der einzelnen Zertifikate musst Du eine Erweiterung hinzufügen, die festlegt, für welchen GitHub AE-Benutzer das Zertifikat gedacht ist. Sie können z. B. den OpenSSH-Befehl ssh-keygen verwenden und dabei KEY-IDENTITY durch Ihre Schlüssel-Identität und USERNAME einen GitHub AE-Benutzernamen ersetzen.

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@[hostname]=USERNAME ./user-key.pub

To issue a certificate for someone who uses SSH to access multiple GitHub products, you can include two login extensions to specify the username for each product. For example, the following command would issue a certificate for USERNAME-1 for the user's account for GitHub Enterprise Cloud, and USERNAME-2 for the user's account on GitHub AE or GitHub Enterprise Server at HOSTNAME.

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@github.com=USERNAME-1 extension:login@HOSTNAME=USERNAME-2 ./user-key.pub

Mit der Erweiterung source-address schränkst Du die IP-Adressen ein, von denen aus ein Organisationsmitglied auf die Ressourcen Deiner Organisation zugreifen kann. Als Erweiterung ist eine bestimmte IP-Adresse oder ein IP-Adressbereich mit CIDR-Notation zulässig. Sollen mehrere Adressen oder Bereiche angegeben werden, trenne sie durch Komma voneinander ab. Weitere Informationen findest Du unter „Classless Inter-Domain Routing“ auf Wikipedia.

$ ssh-keygen -s ./ca-key -I KEY-IDENTITY -O extension:login@[hostname]=USERNAME -O source-address=COMMA-SEPARATED-LIST-OF-IP-ADDRESSES-OR-RANGES ./user-key.pub

Als Vorbeugung gegen Authentifizierungsfehler sollten die Organisationsmitglieder spezielle URLs einsetzen, welche die Organisations-ID enthält, wenn sie Repositorys mit signierten Zertifikaten klonen wollen. Alle Benutzer mit Lesezugriff auf das Repository finden diese URL auf der Repository-Seite. Weitere Informationen findest Du unter „Ein Repository clonen“.

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Oder, learn how to contribute.