Como agregar nuevas cuentas de usuarios con acceso SSH a una instancia de AWS EC2 Linux

En la entrada de hoy voy a explicaros como podéis dar acceso SSH a nuevos usuarios a una instancia de AWS EC2 Linux cada uno con su propio archivo de clave privada y así no tener que compartir el archivo de clave privada que se crea por defecto junto con la creación de la instancia.

Este tutorial voy a realizarlo sobre la distribución Linux Ubuntu y os valdrá para otras distribuciones aunque seguramente debáis modificar algún comando para adaptarlo.

Videotutorial paso a paso

Para aquellos que preferís los tutoriales en formato vídeo aquí os lo dejo en dicho formato.

Si os gusta este tipo de contenido os agradecería que me apoyarais suscribiéndoos al canal de YouTube para animarme a seguir haciendo más contenido de este tipo.

Tutorial paso a paso en imágenes

Creación nuevo keypar en AWS EC2

Lo primero que haremos será crear el archivo de clave privada que utilizará el nuevo usuario para conectarse a nuestra instancia de AWS. Para ello accedemos a nuestra consola de AWS EC2 y nos dirigimos en el menú de la izquierda a Red y seguridad-Pares de claves.

En la siguiente pantalla, arriba a la derecha, pulsamos sobre Crear par de claves.

Especificamos un nombre, en tipo de par de claves seleccionamos RSA, en el formato de archivo de clave privada .ppk y por último pulsamos sobre Crear par de claves.

Con esto se habrá creado un nuevo par de claves para el usuario y veréis como de forma automática se nos habrá descargado el archivo de clave privada el cual guardaremos para utilizarlo más adelante.

Creación de nuevos usuarios en la instancia Linux

Una vez tenemos el archivo de clave privada del nuevo usuario el siguiente paso a dar será conectarnos a nuestra instancia Linux con el usuario predeterminado que se crea por defecto, en el caso de la distribución Ubuntu el usuario es ubuntu, o con cualquier otro usuario que tenga privilegios sudo.

Creamos el nuevo usuario:

root@server1:/home/ubuntu# sudo adduser laboratorio1

Es posible que necesitéis que este usuario deba tener la capacidad de poder elevar privilegios a sudo y para ello tendremos que utilizar el siguiente comando. Este punto es opcional y no es necesario realizarlo sino necesitáis que el usuario pueda elevar privilegios.

root@server1:/home/ubuntu# sudo usermod -aG sudo laboratorio1

Ahora tendremos que cambiar el contexto de seguridad y para ello tendremos que cambiar al usuario que hemos creado, en mi caso laboratorio1

root@server1:/home/ubuntu# sudo su laboratorio1

Creamos un directorio oculto que llamaremos ssh y su correspondiente estructura sobre el directorio home del nuevo usuario y le daremos el permiso 700 para que sólo el usuario pueda acceder a la información contenida en este directorio.

laboratorio1@server1:/home/ubuntu$ cd /home/laboratorio1/
laboratorio1@server1:~$ mkdir .ssh
laboratorio1@server1:~$ chmod 700 .ssh
laboratorio1@server1:~$ touch .ssh/authorized_keys

Una vez creada la estructura el siguiente paso será obtener la key privada del par de claves que generamos en el primer punto de este tutorial. Para ello vamos a utilizar la herramienta PuTTYgen que se incluye junto con la aplicación gratuita PuTTY.

Abrimos la aplicación PuTTYgen y cargamos el archivo de clave privada que generamos y nos descargamos en el primer punto (pulsar sobre File-Load private key).

A continuación tendremos que copiar todo el texto que aparece en el cuadro Public key for pasting…. excepto la parte final que aparece el nombre del usuario, en mi caso laboratorio1.

Copiado este texto nuevamente nos vamos a la consola SSH de nuestra instancia de Linux y ejecutamos el siguiente comando:

laboratorio1@server1:~$ vi .ssh/authorized_keys

En el editor de texto vi pegamos el texto de la clave privada que copiamos y pulsamos :wq para guardar los cambios.

Por último cambiamos los permisos del archivo .ssh/authorized_keys a 600.

laboratorio1@server1:~$ chmod 600 .ssh/authorized_keys

Y listo con esto ya tendríamos todo lo necesario para que el usuario pueda conectar a la instancia de EC2 con su propio usuario y archivo de clave privada.

Como siempre espero que os haya sido de utilidad.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.