Guia definitiva acceso SSH mediante clave privada/publica

Nos encontramos en el caso de que queremos conectarnos desde un Linux cliente a un Linux servidor sin tener que poner las contraseñas, cosa que nos puede ir muy bien si quereos utilizar RSYNC.

En nuestro Linux cliente deberemos crear el juego de claves pública/privada y a continuación copiar la pública en el servidor. Partimos del principio de que si has podido copiar la clave pública en la carpeta del servidor, es porque tienes acceso. No copiamos la clave privada por que es la que realmente nos autentifica y ha de estar en buen recaudo.

Vamos a los pasos:

1.-Crear el juego de claves:

En nuestro ordenador cliente, que tenemos en nuestra casa primero creamos la carpeta .ssh (si no existe) y le aplicamos los permisos correspondientes:

 mkdir -p $HOME/.ssh
 chmod 0700 $HOME/.ssh
 ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''

Es importante a lo largo del tutorial respetar los permisos (chmod) de los ficheros y directorios, tanto por seguridad, como por que puede ser un motivo de que no funcione.

Procedemos a generar el juego de claves:

ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P ''

Nuestro siguiente paso será copiar la cable pública (id_dsa.pub) a cada servidor que queramos conectarnos. Podemos hacer un cat del fichero y copiarlo al portapapeles de nuestro ordenador:

2.-Copia de la clave pública al servidor

Ahora debemos conectarnos en el servidor remoto con la cuenta de usuario que queremos automatizar.

Nos creamos en la carpeta .ssh un nuevo fichero de texto y copiamos y pegamos todo el texto

Procedemos a concatenar el contenido del fichero creado en el fichero .ssh/autorized_key (si no tenemos la carpeta .ssh tendremos que crearla de igual forma que hemos hecho en el punto 1).  Sobretodo, comprobar los permisos del fichero a 0600. Una vez concatenado, podemos eliminar el fichero id_dsa.pub.

3.-Conexión desde el ordenador cliente

Ahora que nuestra clave pública está en el ordenador remoto, podemos conectarnos desde nuestro ordenador cliente usando nuestra clave privada:

ssh -i $HOME/.ssh/id_dsa MIUSUARIO@MISERVIDORREMOTO

Podemos acabar de rizar el rizo, añadiendo al fichero $HOME/.ssh/config de nuestro ordenador cliente:

Host  MISERVIDORREMOTO
         IdentityFile ~/.ssh/id_dsa

De esta manera, podremos conectarnos sin especificar cual es la clave privada:

ssh MIUSUARIO@MISERVIDORREMOTO
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 )

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 )

Google+ photo

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

Conectando a %s