Hinzufügen einer PEM-Datei als privaten SSH-Schlüssel zu "Bekannten Hosts"

13598
smeeb

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

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

8
// , Gute Frage! Dies sollte funktionieren: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / authorised_keys Zu viele IT-Abteilungen senden einfach eine PEM-Datei aus, ohne irgendwelche Anweisungen zur Verwendung vor Ort. Wenn jemand mehr darüber braucht, kann ich eine Antwort hinzufügen. Nathan Basanese vor 8 Jahren 0

1 Antwort auf die Frage

5
barlop

Ich kenne verschiedene Arten von SSH-Schlüsseln nicht. 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 mit dem öffentlichen Schlüssel auf dem Quellcomputer und mit den autorisierten Schlüsseln auf dem Zielcomputer katzen. Stellen Sie sicher, dass der Quellschlüssel so aussieht, als habe er dasselbe Format wie das in Authorized_keys

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

BEARBEITEN-

Um einige Kommentare in die Antwort aufzunehmen. Der öffentliche Schlüssel stammt aus dem privaten Schlüssel. Normalerweise bleibt der private Schlüssel privat, aber das OP wurde mit einem privaten Schlüssel versehen. Dies ist ungewöhnlich. Dies ist jedoch eine interessante Methode, da der Zielcomputer dann bereits seinen öffentlichen Schlüssel haben kann. So konnte er sich anmelden, ohne etwas zu den Authorized_keys des Zielcomputers hinzufügen zu müssen. ssh -i nimmt immer einen privaten Schlüssel an. Er muss nur tun. ssh -i path/to/privatekeyfile user@dest Das OP verwendet "openstack", einige Cloud-Dienste und, wie auf der openstack-Site angegeben ist, docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem ubuntu@10.0.0.2So wie der Name der privaten Schlüsseldatei lautet ist, und wo immer es gespeichert wird, geben Sie dies anssh -i

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 auf meinem Computer richtig zu installieren. Ich mache mir keine Sorgen um die Server-Seite, die sich schon um mich gekümmert hat. Meine Frage ist also: Wie installiere ich einen privaten Schlüssel auf meinem Ubuntu-Rechner? Es war ein Schlüssel, den ich nicht über `ssh-keygen 'generieren konnte. es wurde mir von einer vertrauenswürdigen Quelle gegeben. smeeb vor 9 Jahren 0
@smeeb Warum gibt dir jemand ihren privaten Schlüssel? Ihr privater Schlüssel soll für sie privat sein. barlop vor 9 Jahren 1
Nochmals vielen Dank @barlop (+1) - Aber es ist kein Jemand, sondern [OpenStack] (http://www.openstack.org/), ein Cloud generierendes IaaS. Es ist ein leistungsfähiges Open-Source-Projekt mit Millionen von Arbeitsstunden und betrieblicher Unterstützung. Die 30.000-Fuß-Ansicht ist hier: Um eine neue "Anwendungsinstanz" in OpenStack Horizon zu erstellen, müssen Sie zunächst ein SSH-Schlüsselpaar erstellen. OpenStack installiert automatisch den öffentlichen Schlüssel in der neuen Instanz. Sie sollten den privaten Schlüssel (eine PEM-Datei) herunterladen und lokal installieren, damit Sie SSH in die Instanz einfügen können, wenn Sie möchten. smeeb vor 9 Jahren 0
@smeeb Ich weiß nicht viel über openstack, aber Sie können zB `ssh -i ~ / .ssh / id_rsa bodhi@ssh.server.com` oder, wie auf der openstack-Site http://docs.openstack.org heißt, stehen /user-guide/content/ssh-into-instance.html `$ ssh -i MyKey.pem ubuntu @ 10.0.0.2` Unabhängig vom Namen der privaten Schlüsseldatei und wo auch immer sie gespeichert ist, geben Sie dies an "ssh -i" barlop vor 9 Jahren 0
Da der öffentliche Schlüssel vom privaten Schlüssel stammt, kann es sein, dass dieser Befehl dies tut, da er bereits den öffentlichen Schlüssel haben sollte, wenn er Ihnen einen privaten Schlüssel gibt. Sie müssen also den öffentlichen Schlüssel nicht zu Authorized_keys auf ihrem Computer hinzufügen, da dieser bereits vorhanden ist. barlop vor 9 Jahren 1