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