
Ich habe einen Ubuntu-Desktop und habe eine PEM-Datei ( ) erhalten, mykey.pem
die den privaten SSH-Schlüssel für einen Linux-Server darstellt. Ich versuche herauszufinden, wo diese PEM-Datei lokal auf meinem Computer abgelegt werden muss und wie sie konfiguriert/zu meinen „bekannten SSH-Hosts“ hinzugefügt werden kann.
Wenn man dieses Thema googelt, erhält man viele Antworten/Artikel fürErstellenSSH-Schlüssel, aber nicht zum Hinzufügen eines vorhandenen Schlüssels zu bekannten Hosts. Ideen?
Antwort1
Ich kenne mich mit den verschiedenen Arten von SSH-Schlüsseln nicht aus. Aber Sie würden den öffentlichen Schlüssel auf dem Zielcomputer ablegen, nicht Ihren privaten Schlüssel. Ihr privater Schlüssel bleibt privat.
Und der öffentliche Schlüssel des Quellcomputers sollte auf dem Zielcomputer platziert werden. ~/.ssh/authorized_keys
Dies kann manuell oder über den Befehl erfolgen ssh-keygen
.
Ich schlage vor, dass Sie cat auf dem öffentlichen Schlüssel auf dem Quellcomputer und cat auf authorized_keys auf dem Zielcomputer ausführen und sicherstellen, dass der Schlüssel der Quelle das gleiche Format wie die Schlüssel in authorized_keys zu haben scheint.
Die Datei known_hosts wird automatisch angehängt. Sie müssen sie nicht manuell bearbeiten. Sie können auch nach dem Löschen der Datei known_hosts eine Verbindung herstellen.
BEARBEITEN-
Um einige der Kommentare in die Antwort einzuarbeiten. Der öffentliche Schlüssel stammt vom privaten Schlüssel. Normalerweise bleibt der private Schlüssel privat, aber der OP erhielt einen privaten Schlüssel. Das ist ungewöhnlich, aber eine interessante Vorgehensweise, weil der Zielcomputer dann bereits seinen öffentlichen Schlüssel haben kann. Er könnte sich also anmelden, ohne den autorisierten Schlüsseln des Zielcomputers etwas hinzufügen zu müssen. ssh -i nimmt immer einen privaten Schlüssel. Er muss nur Folgendes tun: ssh -i path/to/privatekeyfile user@dest
Der OP verwendet „OpenStack“, einen Cloud-Dienst, und wie die OpenStack-Site sagt: docs.openstack.org/user-guide/content/ssh-into-instance.html. Wie auch immer der Name der privaten Schlüsseldatei lautet und wo sie gespeichert ist, Sie geben dies an, wenn Sie Folgendes tun:$ ssh -i MyKey.pem [email protected]
ssh -i
Antwort2
Laut ssh
Handbuch:
-i Identitätsdatei
Wählt eine Datei aus, aus der die Identität (privater Schlüssel) für die Public-Key-Authentifizierung gelesen wird. Der Standardwert ist ~/.ssh/identity für Protokollversion 1 und ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 und ~/.ssh/id_rsa für Protokollversion 2.
Z.B .$ ssh -i mykey.pem [email protected]
Sie können Ihren Schlüssel auch dem Authentifizierungsagenten hinzufügen, damit Sie die Identitätsdatei nicht bei jeder Verbindung mit dem Remote-Server übergeben müssen:
ssh-add — fügt dem OpenSSH-Authentifizierungsagenten private Schlüsselidentitäten hinzu
Beispielsweise $ ssh-add mykey.pem
können Sie danach einfach Folgendes tun .$ ssh [email protected]