So fügen Sie "bekannten Hosts" eine PEM-Datei als privaten SSH-Schlüssel hinzu

8

Ich habe einen Ubuntu-Desktop und eine PEM-Datei ( mykey.pem) erhalten, die der private SSH-Schlüssel für einen Linux-Server ist. Ich versuche herauszufinden, wo diese PEM-Datei lokal auf meinem Computer abgelegt werden muss und wie sie meinen "bekannten SSH-Hosts" konfiguriert / hinzugefügt werden kann.

Wenn Sie dieses Thema googeln, werden viele Antworten / Artikel zum Erstellen von SSH-Schlüsseln angezeigt , jedoch nicht zum Hinzufügen eines vorhandenen Schlüssels zu bekannten Hosts. Ideen?

smeeb
quelle
// , Gute Frage! Dies sollte funktionieren: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / autorisierte_keys Zu viele IT-Abteilungen senden einfach eine PEM-Datei ohne Anweisungen zur lokalen Verwendung. Wenn jemand mehr darüber braucht, kann ich eine Antwort hinzufügen.
Nathan Basanese

Antworten:

5

Ich kenne keine verschiedenen Arten von SSH-Schlüsseln. Sie würden jedoch den öffentlichen Schlüssel auf dem Zielcomputer ablegen, nicht Ihren privaten Schlüssel. Ihr privater Schlüssel bleibt privat.

Der öffentliche Schlüssel des Quellcomputers sollte auf dem Zielcomputer in platziert werden. ~/.ssh/authorized_keys Dies kann manuell oder über den ssh-keygenBefehl erfolgen.

Ich schlage vor, dass Sie cat auf dem öffentlichen Schlüssel auf dem Quellcomputer und cat auf autorisierten Schlüsseln auf dem Zielcomputer ausführen und sicherstellen, dass die Quelle so aussieht, als hätte sie dasselbe Format wie die in autorisierten Schlüsseln

Die Datei unknown_hosts wird automatisch angehängt. Sie müssen es nicht manuell bearbeiten. Sie können auch nach dem Löschen der Datei unknown_hosts eine Verbindung herstellen.

BEARBEITEN-

Um einige der Kommentare in die Antwort aufzunehmen. Der öffentliche Schlüssel stammt vom privaten Schlüssel. Normalerweise bleibt der private Schlüssel privat, aber dem OP wurde ein privater Schlüssel zugewiesen. Dies ist ungewöhnlich, aber eine interessante Methode, da der Zielcomputer dann bereits über seinen öffentlichen Schlüssel verfügen kann. So konnte er sich 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 tun ssh -i path/to/privatekeyfile user@dest Das OP verwendet "openstack", einen Cloud-Dienst, und wie auf der Openstack-Site steht, docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem [email protected]Also, wie auch immer der Name der privaten Schlüsseldatei lautet ist, und wo immer es gespeichert ist, geben Sie dies an, wenn Sie dies tunssh -i

Barlop
quelle
Danke @barlop (+1) - Wenn Sie den ersten Satz meiner Frage lesen, werden Sie feststellen, dass die PEM-Datei der private SSH-Schlüssel ist und ich versuche, sie korrekt auf meinem Computer zu installieren. Ich mache mir keine Sorgen um die Serverseite, die für mich bereits erledigt wurde. Meine Frage lautet also: Wie installiere ich einen privaten Schlüssel auf meinem Ubuntu-Computer? Es war ein Schlüssel, den ich nicht über generiert habe ssh-keygen; es wurde mir von einer vertrauenswürdigen Quelle gegeben.
Smeeb
1
@smeeb warum gibt dir jemand seinen privaten Schlüssel? Ihr privater Schlüssel soll für sie privat sein.
Barlop
Nochmals vielen Dank @barlop (+1) - Aber es ist kein Jemand, es ist OpenStack , ein Cloud-generierendes IaaS. Es ist ein leistungsstarkes Open-Source-Projekt mit Millionen von Arbeitsstunden und Unternehmensunterstützung. Die 30.000-Fuß-Ansicht hier lautet: Um eine neue "App-Instanz" auf OpenStack Horizon zu erstellen, müssen Sie zuerst ein SSH-Schlüsselpaar erstellen. OpenStack installiert den öffentlichen Schlüssel automatisch auf der neuen Instanz. Sie sollten den privaten Schlüssel (eine PEM-Datei) herunterladen und lokal installieren, damit Sie auf Wunsch SSH in die Instanz einbinden können.
Smeeb
@smeeb Ich weiß nicht so viel über Openstack, aber Sie können zB ssh -i ~/.ssh/id_rsa [email protected] oder wie auf der Openstack-Site docs.openstack.org/user-guide/content/ssh-into-instance.html steht, $ ssh -i MyKey.pem [email protected] also wie auch immer der Name des privaten Schlüssels lautet Datei ist, und wo immer es gespeichert ist, geben Sie an, dass, wenn Siessh -i
barlop
1
Da der öffentliche Schlüssel vom privaten Schlüssel stammt, kann es sein, dass dieser Befehl dies tut, da er bereits über den öffentlichen Schlüssel verfügen sollte, wenn er Ihnen einen privaten Schlüssel gibt. Sie müssen den öffentlichen Schlüssel also nicht zu autorisierten Schlüsseln auf ihrem Computer hinzufügen, da er bereits vorhanden wäre.
Barlop