Cambiar par de claves para la instancia ec2

408

¿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.

Michael Chen
fuente
1
Seguí los pasos indicados en este video y funcionó youtube.com/watch?v=OF2AOekW4IE
Jonathan Nolasco Barrientos el

Respuestas:

492

Esta respuesta es útil en el caso de que ya no tenga acceso SSH al servidor existente (es decir, perdió su clave privada).

Si aún tiene acceso SSH, utilice una de las respuestas a continuación.

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:

  1. Detenga la instancia de EC2 en ejecución
  2. Separe su /dev/xvda1volumen (llamémoslo volumen A) - vea aquí
  3. Iniciar nueva instancia t1.micro EC2, utilizando 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í
  4. Adjunte el volumen A a la nueva micro instancia, como /dev/xvdf(o /dev/sdf)
  5. SSH a la nueva microinstancia y monte el volumen A en /mnt/tmp

    $ sudo mount / dev / xvdf1 / mnt / tmp

  6. Copiar ~/.ssh/authorized_keysa/mnt/tmp/home/ubuntu/.ssh/authorized_keys

  7. Cerrar sesión
  8. Terminar micro instancia
  9. Separe el volumen A de él
  10. Adjunte el volumen A a la instancia principal como /dev/xvda
  11. Iniciar la instancia principal
  12. Inicie sesión como antes, utilizando su nuevo .pemarchivo

Eso es.

yegor256
fuente
66
solo me salvaste el culo, eres una leyenda!
Garry Welding
8
mkdir /mnt/tmpy luego mount /dev/xvdf /mnt/tmpdebería hacer el truco para # 5. Y no olvides que el paso 13. probablemente esté rm ~/.ssh/known_hostsen cajas desde las que te has conectado.
brandonscript
21
Esto es tan maloliente ... En primer lugar, vea la respuesta de Eric Hammond a continuación. Segundo: respuesta de Pat Mcb. Realizan realmente lo mismo pero sin perder 1 hora de su tiempo en hacer la hilarante solución. PD. Consulte también stackoverflow.com/a/24143976/547223
kgadek el
3
Escribí instrucciones realmente específicas aquí que se basan en esta respuesta, pero es esencialmente la misma idea: gist.github.com/tamoyal/1b7ec4d3871b343d353d . Como señaló @kgadek, es un poco sucio y consume mucho tiempo, pero es una gran opción si está bloqueado del servidor en el que desea realizar el cambio de clave y si no desea girar una copia de ese servidor. Tarda unos 5-10 minutos por instancia, no una hora.
Tony
44
Las respuestas publicadas por @Eric y @Pat son soluciones para las personas que solo quieren usar un par de claves diferente para sus instancias. Esto no ayuda a un usuario que de alguna manera ha perdido el archivo de par de claves en primer lugar. Sin separar el volumen y adjuntarlo a otra instancia, ¿cómo obtendría el control de ese volumen? Y mucho menos reemplazar el .ssh/authorized_keysarchivo original .
sanjeev
187

Una vez que se ha iniciado una instancia, no hay forma de cambiar el par de claves asociado a 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 ssh pública y la instala en un archivo .ssh / Authorised_keys para que pueda ingresar como ese usuario utilizando la clave ssh privada correspondiente.

Si desea cambiar la clave ssh que utiliza para acceder a una instancia, deberá editar el archivo autorizado_keys en la instancia misma y convertirla a su nueva clave pública ssh.

El archivo authorised_keys se encuentra en el subdirectorio .ssh en el directorio de inicio del usuario con el que está iniciando sesión. Dependiendo del 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, siempre use una diferente terminal para confirmar que puede ingresar a la instancia antes de desconectarse de la sesión que está utilizando para editar el archivo. No desea cometer un error y excluirse por completo de la instancia.

Mientras piensa en los pares de claves ssh en EC2, le recomiendo cargar su propia clave pública ssh personal en EC2 en lugar de que Amazon genere el par de claves por usted.

Aquí hay un artículo que escribí sobre esto:

Carga de 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.

Eric Hammond
fuente
Estúpidamente cometí ese error, quiero decir que edité el archivo autorizado_claves y cerré la sesión. Ahora bien, no puede volver ssh :( Cualquier sugerencia de solución rápida.?
aatifh
11
aatifh: Aquí hay un artículo que escribí sobre cómo salir de esa situación: alestic.com/2011/02/ec2-fix-ebs-root
Eric Hammond
@EricHammond Esto podría estar fuera de lugar, pero parece que sabe cómo funciona todo esto ... Configuré una instancia EC2 hoy y recibí el .pemarchivo de clave privada en mi Mac, sin embargo, ssh -i key.pemno se autentica (permiso denegado ( clave pública)). En la Consola de administración EC2 bajo Nombre de par de claves, no se enumera nada. Esto es alarmante para mí. ¿Cómo puedo configurar esto? ¡Parece basado en la Consola de administración que ningún par de llaves que he configurado se ha asignado a la instancia!
Steven Lu
1
@StevenLu: Sí, los hilos de comentarios son el lugar equivocado para hacer nuevas preguntas. Intente crear una nueva pregunta en serverfault.com (más apropiado para ese problema que stackoverflow).
Eric Hammond
44
Aquí hay una pequeña línea agradable para agregar su clave. Esto solo agrega su clave de pub normal además de la generada por AWS, por lo que si no funciona, no se habrá bloqueado: stackoverflow.com/a/5654728/193494
Kevin C.
78

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
Pat Mcb
fuente
14
Esto funciona solo si ya tienes acceso al sistema, ¿verdad? (como no perdido el viejo archivo .pem).
Daniel
55
Puede usar> en lugar de >> para anular el usuario actual en lugar de agregarlo.
Adrián López
Esta es la respuesta correcta y más simple. No es necesario reiniciar, crear nuevas instancias ni montar unidades. Solo obtenga el .pem, keygen y agréguelo a autorizado_hosts.
Spanky
He hecho esto ssh-keygen -f YOURKEY.pem -y >> ~ / .ssh / optional_keys pero sitll no puede acceder a mi ec2 con la nueva clave pública.
manukyanv07
Ejecuté esto y mi clave local no cambió.
Luiz
50

Instrucciones del soporte de AWS EC2:

  1. Cambiar inicio de sesión de pem
  2. ve a tu consola EC2
  3. En RED Y SEGURIDAD, haga clic en Par de claves Haga clic en Crear par de claves
  4. Dé un nombre a su nuevo par de claves, guarde el archivo .pem. El nombre del par de claves se usará para conectarse a su instancia
  5. Cree una conexión SSH con su instancia y manténgala abierta
  6. en PuttyGen, haga clic en "Cargar" para cargar su archivo .pem
  7. Mantenga marcado el botón de radio SSH-2 RSA. Haga clic en "Guardar clave privada". Aparecerá una advertencia de ventana emergente, haga clic en "Sí"
  8. 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
  9. Guarde la clave pública con el nuevo nombre del par de claves y con la extensión .pub
  10. Abra el contenido de la clave pública en un bloc de notas
  11. copie el contenido debajo de "Comentario:" import-openssh-key "y antes de" ---- FINALIZAR CLAVE PÚBLICA SSH2 ----
    Nota: debe copiar el contenido como una línea, eliminar todas las líneas nuevas
  12. en su instancia conectada, abra su archivo Author_keys utilizando la herramienta vi. Ejecute el siguiente comando: vi .ssh / optional_keys, también debería ver la clave pública original en el archivo
  13. mueva el cursor sobre el archivo al final de su primer contenido de clave pública: escriba "i" para insertar
  14. 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
  15. presione la tecla Esc y luego escriba: wq!

esto guardará el archivo autorizado de claves autorizadas

ahora intente abrir una nueva sesión SSH a su instancia utilizando su nueva clave pai

Cuando haya confirmado que puede ingresar SSH a la instancia utilizando el nuevo par de claves, puede vi .ssh / AuthorizedKey y eliminar la clave anterior.

Respuesta al comentario 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.

Elia Weiss
fuente
66
Debería ser la mejor respuesta
2
¿Qué sucede si la clave anterior se ha dañado y no puede conectarse a la instancia a través de masilla ya que no tiene el archivo ppk antiguo?
Shaggie
3
¿Qué pasa si no tiene acceso SSH? De ahí este problema.
Jayden Lawson
3
Jayden Lawson, ¿qué pasa si no tienes conexión a Internet?
Elia Weiss
1
Puede suceder que el par de claves se comparta con otra persona y ahora necesite cambiar los pares de claves para que esa persona ya no pueda iniciar sesión, o muchas otras razones como esta,
Harikrishna
38

Noté que cuando es administrado por Elastic Beanstalk, puede cambiar su par de claves EC2 activo. En Elastic Beanstalk> Configuración> Seguridad, elija la nueva clave del menú desplegable Par de claves EC2 . Verá este mensaje preguntando si está seguro:

EC2KeyName: los cambios en la configuración de la opción EC2KeyName no surtirán efecto de inmediato. Cada una de sus instancias EC2 existentes será reemplazada y su nueva configuración entrará en vigencia en ese momento.

Mi instancia ya había terminado cuando hice esto. Luego comenzó, terminó y comenzó de nuevo. Aparentemente "reemplazar" significa terminar y crear una nueva instancia. Si ha modificado su volumen de arranque, cree primero una AMI, luego especifique esa AMI en el mismo formulario Elastic Beanstalk> Configuración> Instancias que la ID de AMI personalizada . Esto también advierte sobre la sustitución de las instancias EC2.

Después de modificar su par de claves EC2 y su ID de AMI personalizada, y después de ver las advertencias sobre ambos, 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 usarla cuando se conecte a través de SSH.

Mark Berry
fuente
1
Esto se encuentra ahora en la sección 'Seguridad' de la configuración.
Will Demaine
Gracias @ WillDemaine. No estoy usando AWS en este momento, ¡así que aceptaré tu palabra y aprobaré la edición!
Mark Berry
31

Seguí 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 se probó un enfoque mucho más fácil poco después:

  1. Guarde su instancia como AMI (reinicie o no, sugiero reiniciar). Esto solo funcionará si EBS está respaldado.
  2. Luego, simplemente inicie una instancia desde este AMI y asigne su nuevo Keyfile.
  3. Mueva su IP elástica (si corresponde) a su nueva instancia, y ya está.
OldGreg
fuente
Esto funcionó totalmente para mí después de que borré accidentalmente ~ / .ssh
morri
Hice lo mismo y funcionó, ahora puedo iniciar sesión con el nuevo pem. Pero todavía puedo iniciar sesión con el viejo pem. Así que ahora 2 pems son válidos.
Vitaly
Para su información, este es un método GUI rápido y fácil de activar un nuevo EC2 con una clave diferente si está ocupado, pero como @vitaly descubrió que la clave pem antigua también es válida, debe ir a /home/ec2-user/.ssh/authorized_keys y eliminar la vieja clave pem del archivo. Gracias por el método rápido de cambio de clave Pem agradable y fácil cuando no hay tiempo.
Blu Towers
Esto no funcionó para mí. AWS seguía diciendo que la contraseña no estaba disponible con otro mensaje que mencionaba que si la instancia se creó a partir de un AMI, usaría las credenciales de la imagen principal.
Brady
15

Si se siguen los pasos a continuación, ahorrará mucho tiempo y no habrá necesidad de detener la instancia en ejecución.

  1. Inicie una nueva instancia de t1.micro EC2, utilizando 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.
  2. SSH a la nueva micro instancia y copie el contenido de ~ / .ssh / Authorizedkeke en algún lugar de su computadora.
  3. Inicie sesión en la instancia principal con la antigua clave ssh .
  4. Copie y reemplace el contenido del archivo desde el punto 2 a ~ / .ssh / optional_keys
  5. Ahora puede volver a iniciar sesión solo con la nueva clave. La vieja llave ya no funcionará.

Eso es. Disfruta :)

vinay saini
fuente
14

Creo que el enfoque más simple es:

  1. Crear imagen AMI de instancia existente.
  2. Inicie una nueva instancia EC2 utilizando la imagen AMI (creada en el paso 1) con un nuevo par de claves.
  3. Inicie sesión en la nueva instancia EC2 con una nueva clave.
Sergey
fuente
@Brady, ¿qué no funciona en absoluto? haciendo una foto? instancia de lanzamiento? ¿iniciar sesión?
Sergey
44
No estoy seguro de si este cambio es reciente o no, pero cuando crea una AMI a partir de una instancia que ya tiene una clave asignada, debe tener esa clave disponible para iniciar sesión en la imagen AMI copiada, independientemente de si Usted asigna un par de claves diferente durante la creación.
Brady
Esto no es una solución, ya que @Brady menciona que no funciona.
Greg Sansom
8

En caso de que esté utilizando la plataforma ElasticBeanstalk, puede cambiar las claves yendo a:

  • Panel Beanstalk elástico
  • Configuración
  • Instancias (diente superior derecho)
  • Par de llaves EC2

Esto terminará la instancia actual y creará una nueva con las teclas / configuraciones elegidas.

Vaelyr
fuente
2
Esta es sin duda la respuesta más simple aquí, siempre que esté en ElasticBeanstalk.
Yuval Karmi
2
Advertencia ! Esta es una solución peligrosa. El AWS también restablecerá el almacenamiento (es decir, HDD virtual) conectado a esa instancia (!!). Por lo tanto, debe desconectar el almacenamiento y, después de generar una nueva instancia, vuelva a conectarla en lugar de la nueva que vino con la nueva instancia. Por supuesto, lo mejor será que no es un volumen cifrado (y no ha perdido su clave ...)
JamesC
7

Hay dos escenarios en esta pregunta:

1) No tiene acceso al archivo .pem , por eso desea crear uno nuevo.

2) Tienes el. acceso al archivo pem con usted, pero solo desea cambiar o crear un nuevo archivo .pem para fines de vulnerabilidad o seguridad .

Entonces, si perdió sus llaves, puede desplazarse hacia arriba y ver otras respuestas . Pero si simplemente cambia su archivo .pem por motivos de seguridad, siga los pasos:

1) Vaya al inicio de sesión de la consola de AWS y cree un nuevo archivo .pem desde la sección de pares de claves allí. Se descargará automáticamente el archivo .pem en tu PC

2) cambie el permiso a 400 si está usando Linux / ubuntu, presione el siguiente comando

chmod 400 yournewfile.pem

3) Genere RSA del archivo recién descargado en su máquina local

ssh-keygen -f yournewfile.pem -y

4) Copie el código RSA desde aquí

5) Ahora SSH a su instancia a través del archivo .pem anterior

ssh -i oldpemfileName.pem username@ipaddress

sudo vim  ~/.ssh/authorized_keys

6) Dé espacio a una o dos líneas y pegue el RSA copiado del nuevo archivo aquí y luego guarde el archivo

7) Ahora su nuevo archivo .pem está vinculado con la instancia en ejecución

8) Si desea deshabilitar el acceso al archivo .pem anterior, simplemente edite el

sudo vim ~/.ssh/authorized_keys

archivo y elimine o cambie el RSA anterior desde aquí.

Nota: - Elimine con cuidado para que el RSA recién creado no se modifique.

De esta manera, puede cambiar / conectar el nuevo archivo .pem con su instancia en ejecución.

Puede revocar el acceso al archivo .pem generado anteriormente por motivos de seguridad.

¡Espero que ayude!

Parveen yadav
fuente
2
Me gusta esta solución porque no requiere que cree una nueva instancia con una imagen AMI congelada. Pero, ¿puede este método cambiar el nombre de par de claves asociado de la instancia de EC2 en el panel de control de EC2? @Parveen yadav
adicto
6

La solución más simple es copiar el contenido de

~/.ssh/id_rsa.pub

en las claves autorizadas de su instancia de AWS en

~/.ssh/authorized_keys

Esto le permitirá ingresar ssh a la instancia EC2 sin especificar un archivo pem para el comando ssh. Puede eliminar todas las demás claves una vez que haya probado la conexión.

Si necesita crear una nueva clave para compartirla con otra persona, puede hacerlo con:

ssh-keygen -t rsa

que creará el archivo key.pem privado, 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 private_key.pem
snez
fuente
44
¿Cómo puedo acceder ~/.ssh/authorized_keyscuando ni siquiera puedo SSH aws instancia?
prayagupd
3
Creo que su última línea es incorrecta, podrá conectarse solo si tiene la clave privada ... ssh -i private_key.pem [email protected]. Si quieres a alguien para darle acceso a su ejemplo se puede compartir de forma segura su clave pública con ellos y que puede añadir a sus authorized_keys que le conceda acceso a la instancia como ese usuario ...
code4cause
5

No necesita girar el dispositivo raíz y cambiar la clave pública SSH authorized_keys. Para eso puede utilizar datos de usuario para agregarle claves ssh a cualquier instancia. Para eso primero necesita crear un nuevo KeyPair usando la consola de AWS o mediante ssh-keygen.

ssh-keygen -f YOURKEY.pem -y

Esto generará una clave pública para su nuevo SSH KeyPair, copie esta clave pública y úsela en el siguiente script.

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
/bin/echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xigPPA/BAjDPJFflqNuJt5QY5IBeBwkVoow/uBJ8Rorke/GT4KMHJ3Ap2HjsvjYrkQaKANFDfqrizCmb5PfAovUjojvU1M8jYcjkwPG6hIcAXrD5yXdNcZkE7hGK4qf2BRY57E3s25Ay3zKjvdMaTplbJ4yfM0UAccmhKw/SmH0osFhkvQp/wVDzo0PyLErnuLQ5UoMAIYI6TUpOjmTOX9OI/k/zUHOKjHNJ1cFBdpnLTLdsUbvIJbmJ6oxjSrOSTuc5mk7M8HHOJQ9JITGb5LvJgJ9Bcd8gayTXo58BukbkwAX7WsqCmac4OXMNoMOpZ1Cj6BVOOjhluOgYZbLr" >> /home/hardeep/.ssh/authorized_keys
--//

Después del reinicio, la máquina tendrá la clave de publicación SSH especificada. Elimine los datos de usuario después del primer reinicio. Lea más sobre los datos de usuario en el inicio .

Hardeep Singh
fuente
4
  • Crear una nueva clave, por ejemplo, utilizando el generador de claves PuTTY
  • Detener instancia
  • Establecer datos de usuario de instancia para enviar clave pública al servidor
  • Iniciar instancia

Advertencia: No olvide borrar los datos del usuario nuevamente. De lo contrario, esta tecla se presionará en cada inicio de instancia. Instrucciones paso a paso .

#cloud-config
bootcmd:
 - echo 'ssh-rsa AAAAB3Nz...' > /root/.ssh/authorized_keys

ingrese la descripción de la imagen aquí

Reto Höhener
fuente
1
Esta es la forma oficial de AWS para hacerlo, por lo que apoyamos a @reto. aws.amazon.com/premiumsupport/knowledge-center/…
Bevan
3

He intentado los pasos a continuación y funcionó sin detener la instancia. Mi requisito era que, como he cambiado mi máquina cliente, el antiguo archivo .pem no me permitía iniciar sesión en la instancia ec2.

  1. Inicie sesión en la instancia ec2 utilizando su archivo .pem anterior de la máquina anterior. Abra ~ / .ssh / Authorizedkeys

Verá sus viejas claves en ese archivo.

  1. ssh-keygen -f YOUR_PEM_FILE.pem -y Generará una clave. Agregue la clave a ~ / .ssh / certified_keys abierta en el paso 1. No es necesario eliminar la clave anterior.

  2. Desde la consola de AWS, cree un nuevo par de claves. Guárdelo en su nueva máquina. Cámbiele el nombre al antiguo archivo pem: la razón es que el antiguo archivo pem todavía está asociado con la instancia ec2 en AWS.

Todo listo.

Puedo iniciar sesión en AWS ec2 desde mi nuevo equipo cliente.

Señor bordoloi
fuente
3

Tiene varias opciones para reemplazar la clave de su instancia EC2.

  1. Puede reemplazar la clave manualmente en el archivo .ssh / Authorized_keys Sin embargo, esto requiere que tenga acceso a la instancia o al volumen si no está cifrado.
  2. Puede usar AWS Systems Manager. Esto requiere tener un agente instalado.

Dado que la primera opción se puede encontrar fácilmente en las respuestas o en el motor de búsqueda que elija, quiero centrarme en el Administrador de sistemas.

  1. Abrir el servicio Systems Manager
  2. Haz clic en Automationel lado izquierdo.
  3. Haga clic en Execute Automation
  4. Seleccionar AWSSupport-TroubleshootSSH(generalmente está en la última página)

Puede encontrar más información sobre la documentación oficial de AWS

Hendric
fuente
1

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 te da la opción de nombrar el volumen cuando lo adjuntas. Ha utilizado un nombre en el rango de / dev / sda - / dev / sdp. Las versiones más nuevas de Ubuntu cambiarán el nombre de lo que haya puesto a / dev / xvd (x) o algo por el estilo.

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í tuve que hacerlo así:

mount -t ext4 xvdp1 /mnt/tmp

Después de saltar por todos esos aros, pude acceder a mis archivos en / mnt / tmp

Ryan
fuente
como comentario, esto debe agregarse como un comentario, no como una respuesta.
JDL
0

Esto funcionará solo 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, puede pegar la clave pública del nuevo par en el archivo autorizado_claves de su instancia.

vim .ssh / autorizado_claves

Ahora puede usar la clave privada para ese par e iniciar sesión.

Espero que esto ayude.

skd
fuente
0

Mi problema fue que lo intenté con IPmás que con el público DNS. Luego intenté con public DNSy se resolvió

vipin cp
fuente
0

si no puede iniciar sesión en VM y eliminó las claves ssh y también puede cambiar el par de claves de su ec2 siguiendo los pasos a continuación. Vaya paso a paso 1) detenga su instancia ec2. 2) tome una instantánea de VM y almacenamiento. 3) cree una nueva VM mientras la crea, seleccione su instantánea y cree una VM a partir de su instantánea. 4) mientras que la creación de VM descarga su par de claves. 5) una vez que su VM UP puede ssh con un nuevo par de claves y sus datos también retrocederán.

Raghunath Babalsure
fuente
0

Lo que puedes hacer...

  1. Cree un nuevo perfil / rol de instancia que tenga adjunta la política AmazonEC2RoleForSSM.

  2. Adjunte este perfil de instancia a la instancia.

  3. Use SSM Session Manager para iniciar sesión en la instancia.
  4. Use keygen en su máquina local para crear un par de claves.
  5. Empuje la parte pública de esa clave en la instancia utilizando su sesión SSM.
  6. Lucro.
belial
fuente
0

Gracias por los consejos chicos. Definitivamente los tendré en cuenta cuando necesite descansar los pares de claves. Sin embargo, en aras de la eficiencia y la pereza, se me ocurrió algo más:

  1. Cree su nuevo par de claves y descargue las credenciales
  2. Haga clic derecho en su instancia> Crear AMI una vez que se hace
  3. finalice su instancia (o simplemente deténgala hasta que esté seguro de que puede crear otra a partir de su nueva AMI brillante)
  4. Inicie una nueva instancia de EC2 desde la AMI que acaba de crear y especifique su nuevo par de claves creado en el paso (1) anterior.

Espero que esto pueda serle útil y le ahorre algo de tiempo, así como minimizar la cantidad de cabello blanco que obtiene de cosas como esta :)

George Smith
fuente