Autenticación sin teclear claves en SSH con Putty en servidores Linux.
Hace mucho tiempo que no publico nada pero hoy he visto un artículo interesante en inglés que me permito traducir para mejor comprensión de todos y de mí mismo.
El post original, lo podéis encontrar en tecmint.com.
SSH (Secure SHELL) es uno de los protocolos de red mas usados para conectar y loguearse en servidores Linux remotos debido a la seguridad que incorpora su canal de datos encriptado que funciona sobre las reces inseguras y su Autentificación de clave pública.
Usar claves tecleadas para loguearnos a servidores es menos seguro porque la clave puede crackearse por fuerza bruta. La autenticación SSH por clave pública proporciona el mejor mecanismo para efectuar logins a distancia porque es casi imposible descrifrar la clave y la clave privada garantiza que quien se loguea es siempre quien dice ser.
Este artículo mostrará como generar y usar las claves SSH desde plataformas Windows usando el cliente Putty para efectuar logins remotos automáticamente a servidores Linux sin la necesidad de introducir claves manualmente.
Paso 1: Instalar Putty y generar el par de claves SSH
1. El primer paso que necesitas es ir a la página oficial de descarga Putty, guardar la última versión e instalarla en el ordenador Windows.
2. Después de instalar Putty busca en el menú de programas de tu windows el programa llamado PuTTygen, programa que usaremos para generar el par de claves que necesitaremos posteriormente.
3. Una vez que abrimos este programa, es el momento de proceder con la generación de las claves. Selecciona la opción SSH-2 RSA Key con 2048 bits, pulsa el botón Generate y mueve el cursor de forma aleatoria dentro del recuadro que aparece en la pantalla tal como se ve a continuación.
4. Después de genera las claves, añade un comentario para identificar fácilmente la clave y Guarda (Save) cada una (Pública y privada) en un lugar seguro de tu ordenador. Pon especial atención de donde salvas la clave Privada porque si alguien utiliza esta clave podrá acceder a tu servidor sin introducir la clave.
También, para reforzar la seguridad de las claves puedes elegir una frase para proteger tus claves pero para nuestro caso es mejor no ponerla porque pretendemos hacer un acceso automático a un servidor ssh.
5. Después de haber salvado ambas claves, no cierres la ventana de Generador de claves de Putty todavía, selecciona copiar y salva el campo de texto de la Clave Pública y sálvalo en un fichero de texto el cual será copiado posteriormente en el directorio de claves autorizadas del servidor OpenSSH del servidor remoto..
Paso 2: Salvar la Clave Pública en el Servidor Remoto y loguearse usando las claves SSH
6. Ahora es el momento de copiar la clave pública al servidor remoto de destino y efecturar conexiones automáticas. Loguéate en el servidor con tu usuario administrativo (root o una cuenta con permisos de root) usando Putty y crea un directorio .ssh y un fichero llamado authorized_keys dentro de este directorio en el home de dicho usuario tecleando los siguientes parámetros:
# pwd ## To see if you are in the correct $HOME location # mkdir .ssh # nano .ssh/authorized_keys
7. En el fichero authorized_keys recien abierto para editar con Putty, pega el contenido desde la Clave Pública que copiaste anteriormente desde el Putty Key Generator, salva y cierra el fichero, protege el directorio y la carpeta recien creada con los permisos 700 y sal del servidor.
# chmod -R 700 .ssh/ # exit
8. Ahora para poder conectar y loguearse automáticamente en tu servidor hay que añadir la Clave Privada al cliente Putty. Abre Putty y añade el usuario seguido por la dirección IP del servidor o el FQDN ([email protected]), introduce también el número de puerto si lo has cambiado (distinto del 22).
Entonces, vé al menú Category, selecciona SSH –> Auth, pulsa en el botón Browse,, busca y añade tu fichero de Clave Privada.
9. Después de añadir tu Clave Privada, vuelve al menú Session e introduce un nombre descriptivo y pulsa el botón Save para guardar los cambios para posteriores usos.
10. ¡Esto es todo! Ahora puedes de forma automática y segura conectar a un servidor SSH remoto con el cliente Putty pulsando en el botón Open sin la necesidad de introducir ninguna clave..