Comment ajouter votre fichier PEM EC2 à votre trousseau SSH
Lorsque vous créez une nouvelle instance dans EC2, vous recevrez un fichier PEM qui fait office de clé d'accès. Vous devrez l'utiliser pour SSH sur le serveur, vous devrez donc l'ajouter à votre trousseau pour un accès facile.
Sommaire
Comment utiliser votre fichier PEM
Vous pouvez utiliser les fichiers PEM manuellement en ajoutant le -i
drapeau à ssh:
ssh -i keyfile.pem user@host
Il est difficile de taper à chaque fois, il existe donc plusieurs façons de résoudre ce problème.
La méthode la plus simple serait d'ajouter vos propres clés publiques à votre instance EC2 et d'ignorer le fichier PEM pour toutes les futures connexions. Votre clé publique est généralement stockée dans ~/.ssh/id_rsa.pub
, vous voudrez donc le copier dans le ~/.ssh/authorized_keys
fichier sur le serveur. Si vous êtes une équipe composée d'un seul homme et que vous ne vous occupez pas de le faire à chaque fois, c'est tout ce que vous avez à faire.
Cependant, vous devrez suivre ce processus chaque fois que vous créez une nouvelle instance. Mais avec les fichiers PEM, vous pouvez les réutiliser entre les instances. De plus, ils sont indépendants de vos clés privées personnelles, vous pouvez donc les donner à d'autres personnes qui ont besoin d'un accès ssh.
le ssh-add
commande stockera une clé dans ssh-agent
jusqu'à ce que vous vous déconnectiez:
ssh-add ~/keyfile.pem
Cependant, vous devrez l'exécuter à chaque redémarrage, ce n'est donc pas idéal. Vous pouvez l'ajouter à votre ~/.bashrc
ou ~/.bash_profile
à exécuter à chaque démarrage du terminal, ce qui résout le problème. Assurez-vous de rediriger la sortie vers /dev/null
pour désactiver la commande, ou vous verrez «Identité ajoutée» chaque fois que vous ouvrez le terminal.
ssh-add ~/keyfile.pem >/dev/null 2>&1
Stocker les clés SSH dans le trousseau macOS
Si vous utilisez macOS, vous pouvez stocker des clés SSH supplémentaires dans le trousseau macOS. S'ouvrir ~/.ssh/config
et ajoutez les lignes suivantes:
Host * UseKeychain yes
Vous pouvez maintenant ajouter des clés avec
ssh-add -K ~/keyfile.pem
Les clés seront stockées dans le trousseau et persisteront lors des redémarrages. Ils seront automatiquement chargés comme ~/id_rsa
.
Remplacez id_rsa par votre nouvelle clé
Bien que cette option fonctionne, ce n'est pas vraiment quelque chose que nous recommandons. Mais si, pour une raison quelconque, vous vraiment voulez que votre clé privée AWS soit votre nouvelle clé privée personnelle, vous pouvez remplacer id_rsa
avec le fichier PEM d'AWS. id_rsa
est chargé par défaut, vous utiliserez donc par défaut cette clé pour tout.
Faire Absolument certain vous n'utilisez votre clé privée actuelle pour rien (SSH vers d'autres serveurs, GitHub, etc.). Même si vous pensez que non, vous devez sauvegarder vos clés SSH actuelles avant de continuer:
mv ~/.ssh/id_rsa ~/.ssh/id_rsa_old mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa_old.pub
Le fichier AWS PEM doit être converti au format PKCS8 pour être utilisé comme clé privée. Vous pouvez le faire avec OpenSSL:
openssl pkey < keyfile.pem > keyfile.pkcs8
Ensuite, vous devrez générer la clé publique correspondante, toujours à l'aide d'OpenSSL
openssl rsa -in keyfile.pkcs8 -pubout > keyfile.pub
Ensuite, assurez-vous d'avoir sauvegardé votre ancien id_rsa
, vous pouvez les remplacer par vos nouveaux:
mv keyfile.pkcs8 ~/.ssh/id_rsa mv keyfile.pub ~/.ssh/id_rsa.pub