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
.