Acceder a un servidor ssh usando una llave rsa

Como hacemos más seguro nuestras sesiones remotas? Una sugerencia es usar acceso mediante llaves encriptadas, por ejemplo rsa.

Mi primera prueba fue con la documentación de Fedora. Ultimamente he estado consultandola, me parece muy completa y ordenada. Sin embargo algunas veces creo que necesito mas detalles. En este tema de llaves pueden consultar este enlace.

Sin embargo, gracias a Javier Wilson encontre una forma más sencilla usando el comando ssh-copy-id, pueden consultar el manual en la consola usando «man ssh-copy-id» o bien en el siguiente enlace

Sigamos un ejemplo suponiendo que tenemos un servidor en 192.168.0.100 con servicio ssh funcionado normalmente. Ademas tenemos un usuario llamado fedora en ambas maquinas. Pero todo inicia en nuestra máquina.

Primer paso, generar nuestra clave rsa:

ssh-keygen -t rsa

Si solo oprimimos enter, y se usarán los nombres por defecto:
id_rsa id_rsa.pub
Luego piden una frase, la cual debemos memorizar.

Segundo paso, pasar la llave al server:

ssh-copy-id fedora@192.168.0.100

Hay que estar atento porque nos va a pedir dos cosas… la frase de la llave y la contraseña del usuario fedora en el otro servidor.

Tercer paso, conectarnos al servidor. Esto será igual que siempre.

ssh fedora@192.168.0.100

Cuarto paso, cambiar la configuración de ssh en el server:

su <- nos hacemos administrador (va a pedir la contraseña)
cd /etc/ssh/ <- pasamos al directorio donde estan los archivos de configuración de ssh
vim sshd_conf <-editamos el archivo de configuración

El cambio que vamos a hacer es buscar la linea «PasswordAuthentication yes» y debemos dejarla a como sigue:

PasswordAuthentication no

Salvamos los cambios y salimos del editor.

Quinto paso, reiniciar el servicio ssh (al estilo de fedora 16)

systemctl restart sshd.service

Pueden usar otras formas del mismo comando segun su sistema

service sshd restart
/etc/init.d/sshd restart

Sexto paso, salir del server:

exit

Septimo paso y último, probar que todo esta bien

ssh fedora@192.168.0.100

El resultado es que solo nos pedira la frase, solo nos la pedira una vez mientras mantegamos la sesión en nuestra maquina.

Algo que me resulto fue abrir dos terminales, en una hago el login al server via ssh y lo dejo logeado. En la otra terminal ejecuto los pasos. Si algo sale mal, la primera terminal mantendra la conexion a pesar de reiniciar el servicio ssh y podrán ver que problema hay y corregirlo

.

2 comentarios sobre “Acceder a un servidor ssh usando una llave rsa”

  1. Y en el caso que me quiera conectarme de otra maquina? hay alguna manera de llevarte tu llave en memoria o algo así para poder entrar?

  2. Que yo sepa no podes llevartelo a otra maquina con una USB porque al final de la llave hay una identificación que dice «user@host» y la otra maquina seguramente no va a coincidir en esos valores. Y si editas la llave a mano segurio la arruinas, porque ya no va a coincidir el hash.

    Lo que haces es hacer lo mismo, generar otra llave en la otra maquina y usar los mismos comandos. Si el archivo de «authorized keys» existe, entonces solo anexa la nueva llave al final. Obvio que para esto tenes que volver el server ssh a que te permita autorización con password. Esto es lo mismo si pensas tenes varios usuarios en tu PC que se van a conectar al server.

Los comentarios están cerrados.