Ein privater SSH-Schlüssel, wie er von ssh-keygen
generiert wird enthält einen öffentlichen Schlüsselteil. Wie erhalte ich diesen öffentlichen Schlüssel aus dem privaten Schlüssel? Ich habe meinen öffentlichen Schlüssel verloren und muss den Inhalt dieses öffentlichen Schlüssels in den authorized_keys
des Servers einfügen Datei und möchten kein neues Schlüsselpaar erstellen.
Alternativ formuliert:wie erstelle ich die id_rsa.pub
Datei aus einer id_rsa
Datei?
Beste Antwort
Ich habe die Antwort auf Server Fault:Create a public SSH key from the private key? gefunden
Die Option -y
gibt den öffentlichen Schlüssel aus:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
Als Randnotiz geht der Kommentar des öffentlichen Schlüssels verloren. Ich hatte eine Website, die den Kommentar erforderte (Launchpad?), also müssen Sie ~/.ssh/id_rsa.pub
bearbeiten und fügen Sie einen Kommentar an die erste Zeile mit einem Leerzeichen zwischen dem Kommentar und den Schlüsseldaten an. Ein Beispiel für einen öffentlichen Schlüssel ist unten abgeschnitten dargestellt.
ssh-rsa AAAA..../VqDjtS5 [email protected]
Für Schlüssel, die dem SSH-Agenten hinzugefügt wurden (ein Programm, das im Hintergrund läuft und die Notwendigkeit vermeidet, die Schlüsseldatei-Passphrase immer wieder neu einzugeben), können Sie den ssh-add -L
verwenden Befehl, um die öffentlichen Schlüssel für Schlüssel aufzulisten, die dem Agenten hinzugefügt wurden (über ssh-add -l
). Dies ist nützlich, wenn der SSH-Schlüssel auf einer Smartcard gespeichert ist (und kein Zugriff auf die private Schlüsseldatei möglich ist).