Ein privater SSH-Schlüssel, wie er von generiert wird, ssh-keygen
enthält einen öffentlichen Schlüsselteil. Wie rufe ich diesen öffentlichen Schlüssel vom privaten Schlüssel ab? Ich habe meinen öffentlichen Schlüssel verloren und muss den Inhalt dieses öffentlichen Schlüssels in die Serverdatei authorized_keys
einfügen und möchte kein neues Schlüsselpaar erstellen.
Alternativ formuliert: Wie erstelle ich die id_rsa.pub
Datei aus einer id_rsa
Datei?
command-line
ssh
Lekensteyn
quelle
quelle
pbcopy > ~/.ssh/id_rsa.pub
Hoppla.Antworten:
Ich habe die Antwort auf Serverfehler gefunden: Einen öffentlichen SSH-Schlüssel aus dem privaten Schlüssel erstellen?
Die Option
-y
gibt den öffentlichen Schlüssel aus:Als Randnotiz geht der Kommentar des öffentlichen Schlüssels verloren. Ich hatte eine Site, für die der Kommentar erforderlich war (Launchpad?).
~/.ssh/id_rsa.pub
Daher müssen Sie einen Kommentar bearbeiten und an die erste Zeile anhängen, wobei ein Leerzeichen zwischen dem Kommentar und den Schlüsseldaten eingefügt wird. Ein Beispiel für einen öffentlichen Schlüssel ist unten abgeschnitten dargestellt.Bei Schlüsseln, die dem SSH-Agenten hinzugefügt wurden (ein Programm, das im Hintergrund ausgeführt wird und das wiederholte Eingeben der Passphrase
ssh-add -L
für Schlüsseldateien überflüssig macht), können Sie mit dem Befehl die öffentlichen Schlüssel für Schlüssel auflisten , die hinzugefügt wurden der Agent (viassh-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).quelle
~/.ssh/id_rsa
auf Ihren Benutzernamen beschränkt sein muss. Verwenden Sie$ sudo chmod 600 ~/.ssh/id_rsa
Ihre Stammanmeldeinformationen, und geben Sie sie ein, um sie einzuschränken. Anschließend können Sie die öffentliche Schlüsseldatei ausgeben. Andernfalls erhalten Sie eine uneingeschränkte Warnung zu privaten Schlüsseldateien.sudo
, Sie sollten den privaten Schlüssel bereits besitzen. Sonst können Sie es gar nicht erst lesen.400
wird empfohlen, da nicht geschrieben werden muss, um private Schlüsseldateien einzugeben. Der korrigierte Befehl sollte$ chmod 400 ~/.ssh/id_rsa
id_rsa
Datei) hat keinen Kommentar, aber der Kommentar in der öffentlichen Schlüsseldatei (id_rsa.pub
) geht verloren.Dies ist eine Lösung speziell für Benutzer, die Windows verwenden, um SSH auf ihren Remotecomputern auszuführen, einschließlich Cloud-Images auf Amazon AWS und GCE.
(Haftungsausschluss)
Ich habe diese Lösung kürzlich verwendet, um mich per Fernzugriff bei neuen bereitgestellten VM-Images auf GCE anzumelden.
Benutztes Werkzeug:
Durchzuführende Schritte:
Beschreibung (wie es geht):
Generieren Sie einen Schlüssel / ein Paar oder verwenden Sie einen vorhandenen privaten Schlüssel:
Wenn Sie einen privaten Schlüssel haben:
Öffnen Sie puttygen, drücken Sie die Ladetaste und wählen Sie Ihre private Schlüsseldatei (* .pem) aus.
Wenn Sie nicht einen privaten Schlüssel:
Erstellen Sie eine neue 'authorized_keys'-Datei (mit Notepad):
Kopieren Sie Ihre öffentlichen Schlüsseldaten aus dem Abschnitt "Öffentlicher Schlüssel zum Einfügen in die OpenSSH-Datei" authorized_keys "des PuTTY-Schlüsselgenerators und fügen Sie die Schlüsseldaten in die Datei" authorized_keys "ein.
Stellen Sie sicher, dass diese Datei nur eine Textzeile enthält.
Laden Sie den Schlüssel auf einen Linux-Server hoch:
Laden Sie die Datei "authorized_keys" in das Ausgangsverzeichnis des Remote-Computers hoch.
Richtige Berechtigungen festlegen:
Erstelle ein
.ssh
Verzeichnis (falls es nicht existiert)Kopieren Sie die
authorized_keys
Datei in das Verzeichnis .ssh (dies ersetzt alle vorhandenenauthorized_keys
Dateien; beachten Sie dies).Wenn die Datei vorhanden ist, fügen Sie einfach den Inhalt dieser Datei zur vorhandenen Datei hinzu.
Führen Sie Befehle aus, um Berechtigungen festzulegen:
Jetzt können Sie jederzeit ohne Eingabe von Anmeldeinformationen in einen Remote-Computer sshen.
Weitere Lektüre:
Generieren und Hochladen von SSH-Schlüsseln unter Windows
Authentifizierung ohne Passwort mit OpenSSH-Schlüssel, Zertifikaten .pem und .pub
quelle