Raspberry to HackMachine | #3 Configurando SSH con clave pública

Bien, en este post vamos a ver como podemos añadir una capa de seguridad extra a nuestro servidor cambiando la forma de autenticarnos por SSH. Como bien sabemos las contraseñas son un elemento débil como sistema de identificación en un sistema ( ya que pueden ser atacadas por fuerza bruta, diccionario, etc..), sin embargo SSH nos da la solución de configurar la llave pública como login para que todo sea de forma más segura. A continuación veremos como podemos hacerlo.

Lo primero que tenemos que hacer es generar las llaves pública y privada, si no entiendes porque puedes leer este post donde lo explico detalladamente, en este post simplemente vamos a pasar a la instalación.

Lo primero que tenemos que hacer es generar las claves públicas y privadas en la máquina local ( con el usuario que utilicemos normalmente ), para ello utilizaremos el comando

ssh-keygen -b 4096

Una vez generadas estas, pasaremos al lado del servidor. En esta parte tenemos que dirigirnos a la carpeta del usuario con el que vamos a loguearnos haciendo uso de las clave pública ( es decir, nos dirigimos al Home del usuario que queramos iniciar sesión mediante SSH) en mi caso voy a realizarlo con el usuario root.

Dentro de este tenemos que crear la carpeta .ssh y concederle permisos 700, para ello utilizaremos el comando

mkdir  .ssh

chmod 700 .ssh

Cuando hemos creado esta carpeta tenemos que crear el archivo authorized_keys y concederle permisos 600, para ello utilizamos los comandos

touch .ssh/authorized_keys

 chmod 600 .ssh/authorized_keys

Ahora simplemente tenemos que editar ese fichero para incluir la clave pública de nuestro usuario ( almacenada en la máquina local en .ssh/id_rsa.pub ), para ello simplemente tenemos que abrir la clave pública con cat id_rsa.pub  y copiar el contenido al fichero .ssh/authorized_keys  del servidor.

Por último tenemos que editar el archivo /etc/ssh/sshd_config  para prohibir el acceso a root, de esta forma solo podremos acceder haciendo uso de la clave privada ( almacenada en nuestro equipo el la ruta ~/.ssh/id_rsa ).

PermitrootLogin prohibit-password

Una vez configurado simplemente reiniciamos el servicio con

service ssh restart

Ingresamos desde el cliente con el comando

ssh -i id_rsa root@192.168.1.70

 

 

En mi caso me pidió que desbloquease la clave poniendo la contraseña de root y al ponerla ya se puede acceder sin problema.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s