Einen neuen SSH-Schlüssel generieren und zu ssh-agent hinzufügen
Wenn Sie geprüft haben, ob SSH-Schlüssel vorhanden sind, können Sie einen neuen SSH-Schlüssel für die Authentifizierung erzeugen und ihn zum ssh-agent hinzufügen.
Inhalt dieses Artikels
- Einen neuen SSH-Schlüssel erzeugen
- Ihren SSH-Schlüssel zu ssh-agent hinzufügen
- Weiterführende Informationen
Wenn Sie noch keinen SSH-Schlüssel besitzen, müssen Sie einen neuen SSH-Schlüssel erzeugen. Wenn Sie nicht wissen, ob Sie bereits einen SSH-Schlüssel besitzen, überprüfen Sie, ob Schlüssel vorhanden sind.
Wenn Sie Ihre Passphrase nicht jedesmal erneut eingeben möchten, wenn Sie den SSH-Schlüssel verwenden, können Sie den Schlüssel zum SSH-Agenten hinzufügen, der Ihre SSH-Schlüssel verwaltet und Ihre Passphrase speichert.
Einen neuen SSH-Schlüssel erzeugen
-
Open TerminalTerminalGit Bash.
-
Fügen Sie den folgenden Text ein, und ergänzen Sie dabei Ihre GitHub Enterprise-E-Mail-Adresse.
$ 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 rsa key pair.
-
Wenn die Aufforderung „Enter a file in which to save the key“ (Datei angeben, in der der Schlüssel gespeichert werden soll) angezeigt wird, drücken Sie die Eingabetaste. Dadurch wird der Standard-Speicherort akzeptiert.
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
> Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
-
Geben Sie bei 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]
Ihren SSH-Schlüssel zu ssh-agent hinzufügen
Bevor Sie einen neuen SSH-Schlüssel zum SSH-Agenten für die Verwaltung Ihrer Schlüssel hinzufügen, müssen Sie überprüft haben, ob bereits SSH-Schlüssel vorhanden sind, und einen neuen SSH-Schlüssel erzeugt haben. Wenn Sie Ihren SSH-Schlüssel zum Agenten hinzufügen, verwenden Sie den standardmäßigen macOS-Befehl ‚ssh-add‘ anstatt einer Anwendung, die von <macports, homebrew oder einer anderen externen Quelle installiert wurde.
-
Starten Sie den SSH-Agenten im Hintergrund.
$ eval "$(ssh-agent -s)" > Agent pid 59566
-
Wenn Sie macOS Sierra 10.12.2 oder höher verwenden, müssen Sie die Datei
~/.ssh/config
bearbeiten, damit automatisch Schlüssel in den ssh-agent geladen und Passphrasen in der Keychain gespeichert werden.Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
-
Fügen Sie Ihren privaten SSH-Schlüssel zu ssh-agent hinzu, und speichern Sie Ihre Passphrase in der Keychain. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add -K ~/.ssh/id_rsa
Hinweis: Die Option
-K
ist die Standardversion vonssh-add
von Apple, bei der die Passphrase für das Hinzufügen eines SSH-Schlüssels zum ssh-agent in Ihrer Keychain gespeichert wird.Wenn Sie die Standardversion von Apple nicht installiert haben, tritt möglicherweise ein Fehler auf. Weitere Informationen zum Beheben dieses Fehlers finden Sie unter Fehler: „ssh-add: illegal option -- K““.
Wenn Sie GitHub Desktop installiert haben, können Sie die Lösung verwenden, um Repositorys zu klonen und um nicht mit SSH-Schlüsseln zu arbeiten. Die Lösung enthält zudem das Git Bash-Tool, das die bevorzugte Art der Ausführung von git
-Befehlen für Windows ist.
-
Stellen Sie sicher, dass ssh-agent ausgeführt wird:
- Wenn Sie die in GitHub Desktop installierte Git Shell verwenden, sollte ssh-agent bereits ausgeführt werden.
-
Wenn Sie eine andere Terminal-Eingabeaufforderung wie Git für Windows verwenden, folgen Sie den Anweisungen zum automatischen Starten von ssh-agent unter „SSH-Schlüssel-Passphrases verwenden“. Alternativ können Sie ssh-agent auch manuell starten:
# Den SSH-Agenten im Hintergrund starten $ eval $(ssh-agent -s) > Agent pid 59566
-
Fügen Sie Ihren privaten SSH-Schlüssel zu ssh-agent hinzu. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_rsa
-
Starten Sie den SSH-Agenten im Hintergrund.
$ eval "$(ssh-agent -s)" > Agent pid 59566
-
Fügen Sie Ihren privaten SSH-Schlüssel zu ssh-agent hinzu. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
$ ssh-add ~/.ssh/id_rsa