Utiliza tus llaves para conectarse a un servidor vía SSH
Linux 03.01.2015 a las 22:13 hs 760 0
635) {this.width=635}" * />
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
635) {this.width=635}" * />
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
635) {this.width=635}" * />
Verificamos que se han generado los archivos.
1|~/.ssh$ ls -la
635) {this.width=635}" * />
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
635) {this.width=635}" * />
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
635) {this.width=635}" * />
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.
635) {this.width=635}" * />
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.
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
635) {this.width=635}" * />
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
635) {this.width=635}" * />
Verificamos que se han generado los archivos.
1|~/.ssh$ ls -la
635) {this.width=635}" * />
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
635) {this.width=635}" * />
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
635) {this.width=635}" * />
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.
635) {this.width=635}" * />
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
635) {this.width=635}" * />
Puntos: 340
Comentarios (3)
Cargando comentarios espera un momento...
No tienes permisos para comentar.
Medallas
Posts Relacionados: