Amazon EC2 – Restaurar la Key Pair en Ubuntu Server

 

Hoy, haciendo unos cambios en un servidor EC2 de AWS (Amazon Web Services), he tenido un pequeño problema y he sobre-escrito el archivo authorized_keys del usuario ubuntu, lo cual ha provocado que no pudiera “loguearme” de nuevo en el servidor.

Al parecer no hay manera directa de cambiar de nuevo las llaves para un usuario pero “googleando” un poco he encontrado la solución. Y digo de manera directa porqué no hay ninguna opción en la Console de AWS para que vuelva a instalar una key.

AWS EBS

La idea o “truquillo” es conectar el volumen EBS (el disco duro de tu servidor) a otra máquina virtual para poder acceder a este archivo y sobre-escribirlo.

Los pasos a seguir son:

– Botón derecho sobre la instancia que nos da problemas y selecionamos “Stop” para pararla.

– En los volúmenes EBS, desconectas el disco duro de la instancia que te da problemas (“Detach Volume”), ya  que más adelante lo conectaremos a otra máquina para restaurar la key

– Creas una nueva instancia o servidor virtual. Puede ser una nueva AMI siguiendo el asistente o si es una “Microinstance” con el botón derecho selecciona “Launch more like this”. La finalidad es crear un nuevo servidor que nos servirá de “bypass” para conectar el volumen EBS y así poder sobre-escribir la key. Lo de “MicroInstance” es basicamente porqué es el más barato y solo gastaremos unos céntimos de dolar en el proceso. Además, al finalizar el asistente de creación de la nueva instancia, nos pedirá crear una nueva “key pair” para esa instancia o reutilizar alguna “key pair” anterior (que es justo lo que necesitamos)

– Una vez que la nueva instancia haya arrancado, le asignas la Elastic IP del servidor que te daba problemas mediante “Associate Adress” y así podremos conectarnos a ese nuevo servidor con la misma IP de la máquina que nos daba problemas

– Ahora viene cuando haremos un “Attach Volume” del volumen de la máquina que nos daba problemas a esta nueva instancia. Por defecto, nos dirá que lo conectemos como “/dev/sdf”  (lo cual ya nos viene bien porqué la nueva instancia ya tiene otro volumen conectado como “/dev/sda1” y montado en “/”, es decir, la partición de arranque).

– Con esto ya nos podemos conectar a la nueva máquina mediante SSH con la misma IP que teniamos en la otra máquina mediante “ssh -i [path de la key] [email protected][IP]”. Si te dijera  lo del “Man in the middle” simplemente te cargas tus known_hosts, ya que reconoce que la firma digital guardada no es la misma que la del servidor original.

– Una vez conectados tenemos que montar el nuevo volumen por ejemplo en “/mnt/otrodisco” (primero hace un “sudo mkdir /mnt/otrodisco” y después un “sudo mount /dev/xvdf /mnt/otrodisco”)

– Si todo ha ido bien, ahora debería poder modificar el archivo de las keys a través del path /mnt/otrodisco/home/ubuntu/.ssh/authorized_keys. Aunque como la key original del servidor que nos daba problemas la habiamos asignado a la nueva instancia con copiar la key de uno a otro ya la tendremos restaurada (haz un cp /home/ubuntu/.ssh/authorized_keys /mnt/otrodisco/home/ubuntu/.ssh/authorized_keys y listo)

– Acto seguido ya podemos desmontar el volumen de la máquina original mediante umount /mnt/otrodisco y desconectarnos de la máquina. Acuérdate también de hacer un “Detach Volume” del volumen de la máquina original ya que lo conectaremos más tarde a la máquina original de nuevo

– Como ya hemos restaurado el archivo authorized_keys, ya podemos eliminar la instancia que hemos creado para hacer el “bypass” (Botón derecho sobre la instancia y le damos a “Terminate”). Acuérdate de comprobar que junto con la nueva instancia creada también se creó un nuevo volumen EBS. Si no lo hubiese borrado, hazlo manualmente para no tener sorpresas con la factura de AWS.

– Por último solo nos queda asociar el volumen EBS original de nuevo a la máquina que nos daba problemas para así poder rearrancarla, pero en esto caso el “Attach Volume” deberá ser como “/dev/sda1” ya que queremos que se utilice como disco de arranque (es decir, como originalmente estaba configurado).

– Si hemos seguido todos los pasos y no ha habido problemas, ahora deberiamos poder rearrancar (botón derecho y “Start”) la máquina que nos daba problemas y acceder a ella a través de las “Key pair” originales sin mayores problemas.

Si te ha gustado y quieres compartir esta página..