Hola, hoy vamos a aprender cómo podemos generar un certificado SSH en Ubuntu.
Lo primero que tenemos que hacer es editar el fichero de configuracion SSH:
sudo vi /etc/ssh/sshd_config
Tenemos que descomentar estas líneas:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
Una vez añadido estos cambios, tenemos que crear la clave.
Recomiendo hacer el proceso desde un ordenador externo al que estamos configurando. Para ello vamos a nuestra consola y ponemos:
ssh-keygen -t rsa -b 4096
Ahora tenemos que indicar dónde vamos a almacenar la clave:
En caso de que sea para el usuario actual, utilizamos el de defecto (pulsamos en enter).
*En caso de que lo queramos para root y estemos directamente en la máquina, introducimos:
/root/.ssh/id_rsa
Para más seguridad añadimos una contraseña de fase.
Ahora tenemos que añadir nuestra clave a las claves aceptadas para iniciar sesión.
En caso de hacer el proceso desde una máquina remota ponemos:
cat ~/.ssh/id_rsa.pub | ssh usuario@host -p [numero_puerto] "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"
En usuario@host ponemos nuestro usuario y el host remoto.
En [numero_puerto] ponemos el número de puerto.
Este comando nos creará un authorized_keys con nuestra clave.
*En caso de hacerlo desde nuestra propia máquina ponemos:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Nos aseguramos que la ha copiado bien:
cat .ssh/authorized_keys
Y ahora tenemos que copiar el contenido de la clave privada (que usaremos para iniciar sesión), en caso de que lo hagamos desde una máquina remota, si lo hacemos en nuestra propia máquina, usaremos la clave RSA Privada generada.
Si el nombre es por defecto usamos este comando:
cat .ssh/id_rsa
Ahora tenemos que reiniciar el servicio ssh:
sudo service ssh restart
Ahora, teniendo nuestra clave RSA copiada, tenemos que iniciar sesión. Creamos un nuevo archivo llamado clave_rsa_privada y lo pegamos dentro de .ssh/ en caso de ubuntu. Ahora indicamos los permisos de la clave:
sudo chmod 600 /home/isma/.ssh/clave_rsa_privada
Configurando por ejemplo un fichero .ssh/config:
Host server HostName IP_DE_SERVER User USER_DEL_SERVER Port PUERTO_SERVER PubKeyAuthentication yes IdentitiesOnly yes IdentityFile ~/.ssh/clave_rsa_privada
Añadimos los datos necesarios, la ip del servidor, el usuario, el puerto y finalmente el archivo en el que hemos pegado la clave RSA.
Ahora podemos forzar a que solo se inicie sesión usando la RSA, para ello editamos de nuevo el archivo sshd_config
sudo vi /etc/ssh/sshd_config
Y descomentamos la línea:
PasswordAuthentication no
También tenemos que buscar en el fichero de configuración extra en el directorio /etc/ssh/sshd_config.d/
En mi caso he tenido que editar este fichero:
sudo vi 50-cloud-init.conf
Y comentamos la línea de:
PasswordAuthentication yes
Y ahora escribimos el comando para reiniciar el ssh:
sudo systemctl restart ssh
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.