Cómo agregar su archivo EC2 PEM a su llavero SSH

Contenidos

Cuando cree una nueva instancia en EC2, recibirá un archivo PEM que actúa como su clave de acceso. Tendrá que utilizar esto para SSH en el servidor, por lo que querrá agregarlo a su llavero para facilitar el acceso.

Cómo usar su archivo PEM

Puede utilizar archivos PEM manualmente agregando el -i bandera a ssh:

ssh -i keyfile.pem user@host

Esto es difícil de escribir todo el tiempo, por lo que hay algunas alternativas para solucionarlo.

El método más simple sería agregar sus propias claves públicas a su instancia EC2 e ignorar el archivo PEM para todos los inicios de sesión futuros. Su clave pública de forma general se almacena en ~/.ssh/id_rsa.pub, por lo que querrá copiarlo en el ~/.ssh/authorized_keys archivo en el servidor. Si es un equipo de un solo hombre que simplemente ejecuta un servidor y no le importa hacer esto cada vez, esto es todo lo que debe hacer.

A pesar de esto, tendrá que pasar por este procedimiento cada vez que cree una nueva instancia. Pero con los archivos PEM, puede reutilizarlos entre instancias. Al mismo tiempo, son independientes de sus claves privadas personales, por lo que puede dárselas a otras personas que necesitan acceso SSH.

los ssh-add El comando almacenará una clave en su agente SSH hasta que cierre la sesión:

ssh-add ~/keyfile.pem

A pesar de esto, deberá ejecutar esto en cada reinicio, por lo que no es ideal. Puede agregar esto a su ~/.bashrc o ~/.bash_profile para que se ejecute cada vez que inicie la terminal, lo que resuelve el problema. Asegúrese de redirigir la salida a /dev/null para silenciar el comando, o verá «Identidad agregada» cada vez que abra la terminal.

ssh-add ~/keyfile.pem >/dev/null 2>&1

RELACIONADO: ¿Qué es el reenvío de agentes SSH y cómo se utiliza?

Almacenar claves SSH en macOS Keychain

Si está en macOS, puede almacenar claves SSH adicionales en el llavero de macOS. Abrir ~/.ssh/config y agregue las siguientes líneas:

Host *
UseKeychain yes

Ahora puede agregar claves con

ssh-add -K ~/keyfile.pem

Las claves se almacenarán en el llavero y persistirán durante los reinicios. Se cargarán automáticamente del mismo modo que ~/id_rsa.

Reemplaza id_rsa con tu nueva clave

Aunque esta opción funciona, en realidad no se trata de algo que sugerimos. Pero, si por alguna razón De Verdad desea que su clave privada de AWS sea su nueva clave privada personal, puede reemplazarla id_rsa con el archivo PEM de AWS. id_rsa se carga de forma predeterminada, por lo que utilizará esta clave para todo.

Hacer absolutamente cierto no está usando su clave privada actual para nada (SSH a otros servidores, GitHub, etc.). Inclusive si crees que no lo eres debe hacer una copia de seguridad de sus claves SSH actuales antes de continuar:

mv ~/.ssh/id_rsa ~/.ssh/id_rsa_old
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa_old.pub

El archivo AWS PEM debe convertirse al formato PKCS8 para usarlo como clave privada. Puede hacer esto con OpenSSL:

openssl pkey < keyfile.pem > keyfile.pkcs8

Después, deberá generar la clave pública respectivo, nuevamente usando OpenSSL

openssl rsa -in keyfile.pkcs8 -pubout > keyfile.pub

Después, asegúrate de haber hecho una copia de seguridad de tu id_rsa, puede reemplazarlos por otros nuevos:

mv keyfile.pkcs8 ~/.ssh/id_rsa
mv keyfile.pub ~/.ssh/id_rsa.pub
Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.