Utiliza tus llaves para conectarse a un servidor vía SSH

03.01.2015 a las 22:13 hs 760 0



Nunca es tarde para mejorar la seguridad de nuestros servidores, sin ir más lejos en ocasiones cuando administramos una granja de servers a ciertos administradores nos obliga a mantener un listado interminable de usuarios y contraseñas en un archivo digital, que a lo mucho lo protegemos con alguna clave básica, o en mi caso me lleva a imprimir el listado y protegerlo fuertemente debajo del teclado ;-)

Las pruebas se definieron en un servidor Linux con OpenSSH y una estación de trabajo con Ubuntu. Obviamente no usaría Windows como estación de trabajo, pero también es posible implementar las llaves del lado de un cliente Windows.

Inicialmente validamos si contamos con las llaves del lado de nuestra estación de trabajo:
1| ls -la ~/.ssh


De existir claves, lo común es un par de archivos con este nombre id_dsa o id_rsa (.pub), los archivos terminados en (.pub) son las llaves publicas y el otro archivo es la clave privada.

De no existir los archivos podemos crearlos utilizando ssh-keygen, que es un generador de claves de autentificación, que nos permite utilizar diferentes tipos de certificados (RSA, algoritmo simétrico por bloques – DSA, algoritmo de cifrado digital). No entraremos en detalle, lo fundamental son las opciones de -p cambio de contraseña y -t el tipo de cifrado.

Así que ahora, en el caso de no contar con la clave, vamos a generarla.

1| ssh-keygen -t rsa


Verificamos que se han generado los archivos.

1|~/.ssh$ ls -la


En el caso de generar claves con algoritmo RSA, en necesario comprobar que nuestro servidor tenga activada la versión 2 del protocolo SSH, activada la validación de RSA y la autentificación por claves publicas.

Todo ello en el archivo /etc/ssh/sshd_config que también nos muestra la ruta en donde están definidas las claves públicas



Adicionalmente, verificar que se tenga el archivo authorized_keys en la ruta del perfil del usuario /home/user/.ssh/ del lado del servidor.

De no tener el archivo, lo podemos crear con un:

1|~/.ssh$ touch authorized_keys


Ahora es necesario copiar la clave publica generada del lado del cliente. ¿Como podemos hacerlo?. En mi caso utilice mis credenciales de usuario, en el servidor para conectarme y poder copiar las llaves.


Y para el final solo queda probar, realizando una conexión con nuestro servidor via SSH.

Es importante mantener contraseña en nuestra PC donde se encuentran alojadas las llaves. Pero si deseamos, también podemos agregarle clave a las llaves.

El rey de la polla

Puntos: 340


Comentarios (3)


Cargando comentarios espera un momento...
No tienes permisos para comentar.
Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!