Comment ajouter un fichier PEM en tant que clé privée SSH à des «hôtes connus»

8

J'ai un bureau Ubuntu et j'ai reçu un fichier PEM ( mykey.pem) qui est la clé privée SSH pour un serveur Linux. J'essaie de comprendre où ce fichier PEM doit être placé localement sur ma machine, et comment il peut être configuré / ajouté à mes "hôtes SSH connus".

La recherche sur ce sujet révèle de nombreuses réponses / articles pour créer des clés SSH, mais pas pour ajouter une clé existante à des hôtes connus. Des idées?

smeeb
la source
// , Bonne question! Cela devrait fonctionner: $ ssh-keygen -y -f mykey.pem >> ~ / .ssh / authorized_keys Trop de services informatiques envoient simplement un fichier PEM sans aucune sorte d'instructions sur la façon de l'utiliser localement. Si quelqu'un a besoin de plus à ce sujet, je peux ajouter une réponse.
Nathan Basanese

Réponses:

5

Je ne connais pas les différents types de clés SSH. Mais vous mettriez la clé publique sur l'ordinateur de destination, pas votre clé privée. Votre clé privée reste privée.

Et la clé publique de l'ordinateur source doit être placée sur l'ordinateur de destination dans ~/.ssh/authorized_keys Cela peut être fait manuellement ou via la ssh-keygencommande.

Je vous suggère de faire cat sur la clé publique sur l'ordinateur source et cat sur authorized_keys sur l'ordinateur dest et assurez-vous que celui de la source ressemble au même format que ceux dans authorized_keys

Le fichier known_hosts est quelque chose qui est ajouté automatiquement. Vous n'avez pas besoin de le modifier manuellement. Vous pouvez vous connecter même après avoir supprimé le fichier known_hosts.

ÉDITER-

Incorporer certains des commentaires dans la réponse. La clé publique provient de la clé privée. Normalement, la clé privée reste privée, mais l'OP recevait une clé privée, ce qui est inhabituel, mais c'est une façon intéressante de le faire, car cela signifie que l'ordinateur de destination peut alors déjà avoir sa clé publique. Il pouvait donc se connecter sans avoir à ajouter quoi que ce soit aux touches autorisées de l'ordinateur de destination. ssh -i prend toujours une clé privée. Il n'a qu'à faire ssh -i path/to/privatekeyfile user@dest L'OP utilise "openstack", un service cloud, et comme le dit le site openstack docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem [email protected]Donc quel que soit le nom du fichier de clé privée est, et partout où il est stocké, vous spécifiez que lorsque vous faitesssh -i

barlop
la source
Merci @barlop (+1) - si vous lisez la première phrase de ma question, vous me verrez déclarer que le fichier PEM est la clé privée SSH et que j'essaie de l'installer correctement sur mon ordinateur. Je ne m'inquiète pas du côté serveur, qui a déjà été pris en charge pour moi. Ma question est donc: comment installer une clé privée sur ma machine Ubuntu? C'était une clé que je n'ai pas générée via ssh-keygen; il m'a été donné par une source de confiance.
smeeb
1
@smeeb pourquoi quelqu'un vous donne-t-il sa clé privée? leur clé privée est censée leur être privée.
barlop
Merci encore @barlop (+1) - Mais ce n'est pas quelqu'un, c'est OpenStack , un IaaS générateur de cloud. Il s'agit d'un puissant projet open source avec des millions d'heures de travail et le soutien des entreprises derrière. La vue de 30 000 pieds ici est la suivante: pour créer une nouvelle "instance d'application" sur OpenStack Horizon, vous devez d'abord créer une paire de clés SSH. OpenStack installe automatiquement la clé publique sur la nouvelle instance. Vous êtes censé télécharger la clé privée (un fichier PEM) et l'installer localement afin de pouvoir SSH dans l'instance si vous le souhaitez.
smeeb
@smeeb Je ne connais pas tellement openstack, mais vous pouvez faire par exemple ssh -i ~/.ssh/id_rsa [email protected] ou comme le dit le site openstack docs.openstack.org/user-guide/content/ssh-into-instance.html $ ssh -i MyKey.pem [email protected] Donc quel que soit le nom de la clé privée fichier est, et partout où il est stocké, vous spécifiez que lors de l' ssh -i
exécution
1
De plus, comme la clé publique provient de la clé privée, il se peut que cette commande le fasse, car ils devraient déjà avoir la clé publique s'ils vous donnent une clé privée. Vous n'aurez donc pas à ajouter la clé publique aux clés autorisées sur leur ordinateur car elle serait déjà là.
barlop