amazon web services - descargar - Cambiar par de claves para la instancia ec2
descargar key pair aws (13)
Creo que el enfoque más simple es:
- Crea una imagen AMI de iinstance original.
- Inicie la nueva instancia de EC2 utilizando la imagen AMI (del paso 1) con un nuevo par de claves.
- Inicie sesión en la nueva instancia de EC2 con una nueva clave.
¿Cómo cambio el par de claves para mi instancia ec2 en la consola de administración de AWS? Puedo detener la instancia, puedo crear un nuevo par de claves, pero no veo ningún enlace para modificar el par de claves de la instancia.
Ejecute este comando después de descargar su AWS pem.
ssh-keygen -f YOURKEY.pem -y
Luego volcar la salida en authorized_keys
.
O copie el archivo pem a su instancia de AWS y ejecute los siguientes comandos
chmod 600 YOURKEY.pem
y entonces
ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys
En caso de que esté utilizando la plataforma ElasticBeanstalk, puede cambiar las claves yendo a:
- Panel elástico frijol
- Configuración
- Instancias (cog superior derecha)
- Par de claves EC2
Esto terminará la instancia actual y creará una nueva con las teclas / configuraciones elegidas.
Esto solo funcionará si tiene acceso a la instancia en la que desea cambiar / agregar la clave. Puede crear un nuevo par de claves. O si ya tiene el par de claves, entonces puede pegar la clave pública del nuevo par en el archivo authorized_keys en su instancia.
vim .ssh / authorized_keys
Ahora puede usar la clave privada para ese par e iniciar sesión.
Espero que esto ayude.
He intentado a continuación los pasos y funcionó sin detener la instancia. Mi requisito era que, como he cambiado la máquina cliente, el antiguo archivo .pem no me permitía iniciar sesión en la instancia de EC2.
- Inicie sesión en la instancia ec2 utilizando su antiguo archivo .pem de la máquina antigua. Abre ~ / .ssh / authorized_keys
Verás tus llaves antiguas en ese archivo.
ssh-keygen -f YOUR_PEM_FILE.pem -y Generará una clave. Agregue la clave a ~ / .ssh / authorized_keys abierto en el paso # 1. No es necesario borrar la clave anterior.
Desde la consola de AWS, crea un nuevo par de claves. Guárdalo en tu nueva máquina. Cámbiele el nombre al archivo pem anterior: el motivo es que el archivo pem antiguo aún está asociado con la instancia ec2 en AWS.
Todo listo.
Puedo iniciar sesión en AWS ec2 desde mi nueva máquina cliente.
Instrucciones de soporte de AWS EC2:
- Cambiar inicio de sesión pem
- Ve a tu consola EC2
- En RED Y SEGURIDAD, haga clic en Par de claves Haga clic en Crear par de claves
- Dale un nombre a tu nuevo par de claves, guarda el archivo .pem. El nombre del par de claves se utilizará para conectarse a su instancia
- Cree una conexión SSH a su instancia y manténgala abierta
- en PuttyGen, haga clic en "Cargar" para cargar su archivo .pem
- Mantenga el botón de radio SSH-2 RSA marcado. Haga clic en "Guardar clave privada". Aparecerá una advertencia en la ventana emergente, haga clic en "Sí".
- haga clic en "Guardar clave pública" también, para generar la clave pública. Esta es la clave pública que vamos a copiar en su instancia actual
- Guarde la clave pública con el nuevo nombre del par de claves y con la extensión .pub
- Abrir el contenido de la clave pública en un bloc de notas.
- copie el contenido debajo de "Comentario:" importado-openssh-key "y antes de" ---- FIN SSH2 PUBLIC KEY ----
Nota: debe copiar el contenido como una sola línea: elimine todas las líneas nuevas - en su instancia conectada, abra el archivo authorized_keys usando la herramienta vi. Ejecute el siguiente comando: vi .ssh / authorized_keys también debería ver la clave pública original en el archivo
- mueva el cursor sobre el archivo al final de su primer contenido de clave pública: escriba "i" para insertar
- en la nueva línea, escriba "ssh-rsa" y agregue un espacio antes de pegar el contenido de la clave pública, el espacio y el nombre del archivo .pem (sin el .pem) Nota: debe obtener una línea con el mismo formato que la línea anterior
- presione la tecla Esc, y luego escriba: wq!
esto guardará el archivo authorized_keys actualizado
ahora intente abrir una nueva sesión SSH en su instancia usando su nueva clave pai
Cuando haya confirmado que puede ingresar SSH en la instancia utilizando el nuevo par de claves, puede vi .ssh / authorized_key y eliminar la clave anterior.
Respuesta a la observación de Shaggie:
Si no puede conectarse a la instancia (por ejemplo, la clave está dañada), utilice la consola de AWS para separar el volumen ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) y vuelva a conectarlo a la instancia de trabajo, luego cambie la clave en el volumen y vuelva a conectarlo a la instancia anterior.
La respuesta de Yegor256 funcionó para mí, pero pensé que solo agregaría algunos comentarios para ayudar a aquellos que no son tan buenos montando unidades (como yo):
Amazon le da una opción de lo que quiere nombrar el volumen cuando lo adjunta. Ha usado un nombre en el rango de / dev / sda - / dev / sdp. Las versiones más nuevas de Ubuntu cambiarán el nombre de lo que pusieron allí a / dev / xvd (x) o algo parecido.
Entonces, para mí, elegí / dev / sdp como nombre del nombre de montaje en AWS, luego inicié sesión en el servidor y descubrí que Ubuntu había cambiado el nombre de mi volumen a / dev / xvdp1). Luego tuve que montar el disco; para mí tenía que hacerlo así:
mount -t ext4 xvdp1 /mnt/tmp
Después de saltar a través de todos esos aros, pude acceder a mis archivos en / mnt / tmp
La solución más sencilla es copiar el contenido de
~/.ssh/id_rsa.pub
en las instancia_de_confirmadas de AWS en
~/.ssh/authorized_keys
Esto le permitirá ssh en la instancia de EC2 sin especificar un archivo pem para el comando ssh. Puede eliminar todas las demás claves una vez que haya probado conectarse a ella.
Si necesita crear una nueva clave para compartirla con otra persona, puede hacerlo con:
ssh-keygen -t rsa
que creará el archivo de clave privada.pem, y puede obtener la clave pública de eso con:
ssh-keygen -f private_key.pem -y > public_key.pub
Cualquiera que tenga private_key.pem podrá conectarse con
ssh [email protected] -i public_key.pub
Modificando la respuesta de " yegor256 ". Como si se siguieran los pasos a continuación, se ahorrará mucho tiempo y no habrá necesidad de detener la instancia en ejecución.
- Inicie la nueva instancia de t1.micro EC2, usando un nuevo par de claves. Asegúrese de crearlo en la misma subred , de lo contrario tendrá que terminar la instancia y volver a crearla.
- SSH a la nueva micro instancia y copie el contenido de ~ / .ssh / authorized_keys en algún lugar de su computadora.
- Inicia sesión en la instancia principal con la clave ssh antigua .
- Copie y reemplace el contenido del archivo del punto 2 a ~ / .ssh / authorized_keys
- Ahora puedes volver a iniciar sesión solo con la nueva clave. La vieja llave ya no funcionará.
Eso es. Disfrutar :)
Noté que cuando es administrado por Elastic Beanstalk, puede cambiar su par de claves EC2 activas. En Elastic Beanstalk> Configuración> Seguridad, elija la nueva clave del menú desplegable de pares de claves EC2 . Verás este mensaje preguntando si estás seguro:
EC2KeyName: Los cambios en la configuración de la opción EC2KeyName no entrarán en vigor de inmediato. Cada una de sus instancias EC2 existentes será reemplazada y su nueva configuración entrará en vigencia.
Mi instancia ya estaba terminada cuando hice esto. Entonces comenzó, terminó y comenzó de nuevo. Aparentemente, "reemplazar" significa terminar y crear una nueva instancia. Si ha modificado su volumen de arranque, primero cree una AMI, luego especifique esa AMI en la misma forma de Elastic Bean> Configuración> Instancias que la ID de AMI personalizada . Esto también advierte sobre la sustitución de las instancias de EC2.
Después de haber modificado su par de claves EC2 e ID de AMI personalizada, y luego de ver las advertencias sobre ambas, haga clic en Guardar para continuar.
Recuerde que la dirección IP cambia cuando se vuelve a crear la instancia, por lo que deberá recuperar una nueva dirección IP de la consola EC2 para usar cuando se conecte a través de SSH.
Pasé por este enfoque y, después de un tiempo, pude hacerlo funcionar. La falta de comandos reales lo hizo difícil, pero lo descubrí. SIN EMBARGO, se encontró y probó un enfoque mucho más fácil poco después:
- Guarde su instancia como una AMI (reinicie o no, sugiero reiniciar). Esto solo funcionará si EBS está respaldado.
- Luego, simplemente inicie una instancia desde esta AMI y asigne su nuevo archivo de claves.
- Mueva su IP elástica (si corresponde) a su nueva instancia, y listo.
Simplemente haga esto: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
Esto es lo que hice, gracias a la publicación del blog de Eric Hammond:
- Detener la instancia de EC2 en ejecución
- Desconecte su volumen
/dev/xvda1
(llamémoslo volumen A) - vea aquí - Iniciar una nueva instancia de t1.micro EC2, usando mi nuevo par de claves. Asegúrese de crearlo en la misma subred , de lo contrario tendrá que terminar la instancia y volver a crearla. - ver aquí
- Adjunte el volumen A a la nueva micro instancia, como
/dev/xvdf
(o/dev/sdf
) SSH a la nueva micro instancia y monte el volumen A en
/mnt/tmp
$ sudo mount / dev / xvdf1 / mnt / tmp
Copie
~/.ssh/authorized_keys
a/mnt/tmp/home/ubuntu/.ssh/authorized_keys
- Cerrar sesión
- Terminar micro instancia
- Desconecta el volumen A de él.
- Adjunte el volumen A a la instancia principal como
/dev/xvda
- Iniciar la instancia principal.
- Inicie sesión como antes, usando su nuevo archivo
.pem
Eso es.
Una vez que se ha iniciado una instancia, no hay forma de cambiar el par de llaves asociado con la instancia a nivel de metadatos, pero puede cambiar la clave ssh que usa para conectarse a la instancia.
Hay un proceso de inicio en la mayoría de las AMI que descarga la clave pública ssh y la instala en un archivo .ssh / authorized_keys para que pueda iniciar sesión como ese usuario utilizando la clave privada correspondiente.
Si desea cambiar la clave ssh que usa para acceder a una instancia, querrá editar el archivo authorized_keys en la propia instancia y convertirla a su nueva clave pública ssh.
El archivo authorized_keys está bajo el subdirectorio .ssh bajo el directorio de inicio del usuario con el que está iniciando sesión. Dependiendo de la AMI que esté ejecutando, podría estar en uno de:
/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys
Después de editar un archivo authorized_keys, use siempre un terminal diferente para confirmar que puede iniciar sesión en la instancia antes de desconectarse de la sesión que está usando para editar el archivo. No querrás cometer un error y bloquearte por completo de la instancia.
Mientras piensa en ssh keypairs en EC2, le recomiendo que cargue su propia clave pública ssh personal en EC2 en lugar de que Amazon genere el par de llaves para usted.
Aquí hay un artículo que escribí sobre esto:
Cargar claves ssh personales en Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys
Esto solo se aplicaría a las nuevas instancias que ejecute.