Categorías

Identificación automática en SSH usando claves RSA

Cuando tenemos que conectarnos habitualmente a un servidor Linux mediante SSH puede resultar muy tedioso tener que escribir la contraseña en cada sesión. Por este motivo hoy os presentamos un mini-tutorial para evitar este paso y así ahorrar en tiempo y frustraciones.

Identificación SSH mediante clave

Lo primero que tenemos que hacer es generar un conjunto de claves de cifrado asimétrico empleando el algoritmo RSA. Abrimos una terminal y escribimos lo siguiente:

ssh-keygen

Después pulsamos Intro. A continuación nos pide que introduzcamos una passphrase para el conjunto de claves. La passphrase protege tu clave privada en caso de que se vea comprometida (ver Nota2). No obstante, para este tutorial no vamos a usar ninguna (ver Nota1 para identificación automática con passphrase).

Tras hacer esto vamos a:

cd .ssh/

Este directorio contiene el par de claves que acabamos de generar: id_rsa e id_rsa.pub. Tenemos que subir al servidor de destino la parte pública de la clave, es decir, id_rsa.pub.

Usamos el comando scp para copiar el archivo de su ubicación local a una carpeta temporal del servidor mediante SSH.

scp id_rsa.pub usuario_servidor@direccion_servidor.com:/tmp

Conectamos al servidor mediante ssh.

ssh usuario_servidor@direccion_servidor.com

Tras introducir nuestra clave nos movemos hasta este directorio:

cd .ssh/

Añadimos nuestra clave pública al listado de claves autorizadas y después borramos el archivo de clave pública de su ubicación temporal:

cat /tmp/id_rsa.pub >> authorized-keys
rm /tmp/id_rsa.pub

Cerramos la sesión SSH escribiendo exit. Iniciamos una nueva sesión, y si todo ha ido bien no tendremos que introducir nuestra contraseña otra vez.

NOTA1: Si queremos tener seguridad adicional utilizaremos una passphrase compleja para la parte privada de nuestra clave. Para no tener que escribir esta passphrase cada vez que nos identificamos podemos utilizar el programa ssh-agent.

NOTA2: Nuestras claves se pueden ver comprometidas si alguien tiene acceso a físico a nuestro ordenador y consigue copiar los archivos de claves. También se pueden ver comprometidas si un usuario malintencionado aprovecha algún fallo de seguridad del sistema operativo para obtener privilegios de administrador y obtener los archivos de claves. Por lo tanto, hay que ponderar los riesgos y las ventajas que nos aporta la identificación automática, y tomar la decisión que más nos convenga.

Más adelante publicaremos otro mini-tutorial sobre cómo configurar MySQL Workbench para acceder a una base de datos remota mediante SSH sin tener que introducir ninguna clave.

3 comentarios a Identificación automática en SSH usando claves RSA

  • Sergi

    Muy bueno el artículo. Solo comentar qué, en mi caso (ubuntu 10.04) al no estar creada la carpeta .ssh en mi home no se generaba el fichero (tampoco daba error). Una vez creas el directorio, todo va según lo descrito.

    gracias!

  • Victor Marrero

    Buenas tardes Amigo, hice exactamente lo que dice en este y otros tutoriales y me sigue pidiendo Password el servidor remoto. Estoy estableciendo esta conexion entre CYGWIN y AIX.

    He intentado de muchas formas pero siempre me pide el Password del AIX. No tengo usuario root en el Aix pero puedo hablar con el Root para que haga configuraciones en el AIX si se llegaran a necesitan.

    Victor. M.

  • Victor Marrero

    Por favor Pueden recomendarme que mas hacer.

Deje una respuesta

 

 

 

Puedes utilizar estos tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>