Informationen zu SSH-Schlüsselpassphrasen
Sie können auf Daten in Repositorys auf GitHub mit SSH (Secure Shell Protocol) zugreifen und schreiben. Wenn du über SSH eine Verbindung herstellst, authentifizierst du dich mit einer privaten Schlüsseldatei auf deinem lokalen Computer. Weitere Informationen findest du unter Informationen zur SSH.
Wenn du einen SSH-Schlüssel generierst, kannst du eine Passphrase hinzufügen, um ihn noch besser zu schützen. Wenn du den Schlüssel verwendest, muss du die Passphrase eingeben. Wenn dein Schlüssel eine Passphrase umfasst und du diese nicht jedes Mal eingeben möchtest, wenn du den Schlüssel verwendest, kannst du diesen dem SSH-Agent hinzufügen. Der SSH-Agent verwaltet deine SSH-Schlüssel und speichert deine Passphrase.
Wenn du noch keinen SSH-Schlüssel hast, musst du einen neuen SSH-Schlüssel generieren, der für die Authentifizierung verwendet werden soll. Wenn du nicht sicher bist, ob du bereits über einen SSH-Schlüssel verfügst, kannst du nach vorhandenen Schlüsseln suchen. Weitere Informationen finden Sie unter Auf vorhandene SSH-Schlüssel prüfen.
Wenn du einen Hardwaresicherheitsschlüssel zum Authentifizieren von GitHub verwenden möchtest, musst du einen neuen SSH-Schlüssel für deinen Hardwaresicherheitsschlüssel generieren. Du musst deinen Hardwaresicherheitsschlüssel mit deinem Computer verbinden, wenn du dich mit dem Schlüsselpaar authentifizierst. Weitere Informationen findest du unter Versionshinweise zu OpenSSH 8.2.
Einen neuen SSH-Schlüssel erzeugen
Du kannst einen neuen SSH-Schlüssel auf deinem lokalen Computer generieren. Nachdem Sie den Schlüssel generiert haben, können Sie Ihrem Konto den öffentlichen Schlüssel zu GitHub.com hinzufügen, um die Authentifizierung für Git-Vorgänge über SSH zu aktivieren.
Note
GitHub verbessert die Sicherheit, indem ältere, unsichere Schlüsseltypen am 15. März 2022 gelöscht werden.
Ab diesem Datum werden DSA-Schlüssel (ssh-dss
) nicht mehr unterstützt. Sie können Ihrem persönlichen Konto keine neuen DSA-Schlüssel für GitHub hinzufügen.
RSA-Schlüssel (ssh-rsa
) mit einem valid_after
vor dem 2. November 2021 können weiterhin einen Signaturalgorithmus verwenden. RSA-Schlüssel, die nach diesem Datum generiert wurden, müssen einen SHA-2-Signaturalgorithmus verwenden. Einige ältere Clients müssen möglicherweise aktualisiert werden, um SHA-2-Signaturen zu verwenden.
-
Öffne Terminal .
-
Füge den folgenden Text ein, und ersetze die im Beispiel verwendete E-Mail durch deine GitHub-E-Mail-Adresse.
ssh-keygen -t ed25519 -C "your_email@example.com"
Note
Wenn du ein Legacysystem verwendest, das den Ed25519-Algorithmus nicht unterstützt, verwende:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Dadurch wird ein neuer SSH-Schlüssel erzeugt und die angegebene E-Mail-Adresse als Kennzeichnung verwendet.
> Generating public/private ALGORITHM key pair.
Wenn du aufgefordert wirst, eine Datei einzugeben, in der der Schlüssel gespeichert werden soll, kannst du die EINGABETASTE drücken, um den Standarddateispeicherort zu akzeptieren. Hinweis: Wenn du zuvor SSH-Schlüssel erstellt hast, wirst du möglicherweise von ssh-keygen aufgefordert, einen anderen Schlüssel neu zu schreiben. In diesem Fall wird empfohlen, einen SSH-Schlüssel mit benutzerdefiniertem Namen zu erstellen. Gib hierzu den Standarddateispeicherort ein, und ersetze id_ALGORITHM durch deinen benutzerdefinierten Schlüsselnamen.
> Enter a file in which to save the key (/home/YOU/.ssh/id_ALGORITHM):[Press enter]
-
Gib an der Eingabeaufforderung eine sichere Passphrase ein. Weitere Informationen finden Sie unter SSH-Schlüssel-Passphrasen verwenden.
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
Deinen SSH-Schlüssel zum SSH-Agenten hinzufügen
Bevor du dem SSH-Agent einen neuen SSH-Schlüssel hinzufügst, um deine Schlüssel zu verwalten, solltest du nach vorhandenen SSH-Schlüsseln überprüft und einen neuen SSH-Schlüssel generiert haben.
-
Starte den SSH-Agenten im Hintergrund.
$ eval "$(ssh-agent -s)" > Agent pid 59566
Je nach Umgebung musst du möglicherweise einen anderen Befehl verwenden. So musst du möglicherweise z. B. root-Zugriff verwenden, indem du vor dem Starten des SSH-Agent
sudo -s -H
ausführst, oder du musst zum Ausführen des SSH-Agentexec ssh-agent bash
oderexec ssh-agent zsh
verwenden. -
Füge deinen privaten SSH-Schlüssel zum SSH-Agenten hinzu.
Wenn Sie Ihren Schlüssel mit einem anderen Namen erstellt haben oder wenn Sie einen vorhandenen Schlüssel mit einem anderen Namen hinzufügen, ersetzen Sie id_ed25519 im Befehl durch den Namen Ihrer privaten Schlüsseldatei.
ssh-add ~/.ssh/id_ed25519
-
Füge deinem Konto auf GitHub den öffentlichen SSH-Schlüssel hinzu. Weitere Informationen finden Sie unter Einen neuen SSH-Schlüssel zum GitHub-Konto hinzufügen.
Generieren eines neuen SSH-Schlüssels für einen Hardwaresicherheitsschlüssel
Wenn du macOS oder Linux verwendest, musst du möglicherweise deinen SSH-Client aktualisieren oder einen neuen SSH-Client installieren, bevor du einen neuen SSH-Schlüssel generierst. Weitere Informationen finden Sie unter Fehler: Unbekannter Schlüsseltyp.
-
Füge deinem Computer deinen Hardwaresicherheitsschlüssel hinzu.
-
Öffne Terminal .
-
Füge den folgenden Text ein, und ersetze die im Beispiel verwendete E-Mail-Adresse durch die E-Mail-Adresse, die mit deinem GitHub-Konto verknüpft ist.
ssh-keygen -t ed25519-sk -C "your_email@example.com"
Note
Wenn der Befehl fehlschlägt und du den Fehler
invalid format
oderfeature not supported,
erhältst, verwendest du möglicherweise einen Hardwaresicherheitsschlüssel, der den Ed25519-Algorithmus nicht unterstützt. Gib stattdessen den folgenden Befehl ein.ssh-keygen -t ecdsa-sk -C "your_email@example.com"
-
Wenn du dazu aufgefordert wirst, drücke die Schaltfläche auf deinem Hardwaresicherheitsschlüssel.
-
Wenn du aufgefordert wirst, „Eine Datei einzugeben, in der die Taste gespeichert werden soll", drücke EINGABE, um den Standarddateispeicherort zu akzeptieren.
> Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]
-
Wenn du aufgefordert wirst, eine Passphrase einzugeben, drücke Eingeben.
> Enter passphrase (empty for no passphrase): [Type a passphrase] > Enter same passphrase again: [Type passphrase again]
-
Füge deinem Konto auf GitHub den öffentlichen SSH-Schlüssel hinzu. Weitere Informationen finden Sie unter Einen neuen SSH-Schlüssel zum GitHub-Konto hinzufügen.