Archivo etiqueta ssh

Conexión SSH sin contraseñas

SSH keys

Seguramente harás tenido que trabajar con un servidor remoto usando ssh en más de una ocasión. Si bien es cierto que la se incrementa al usar un protocolo cifrado, también es cierto que realizar varias conexiones de forma repetitiva puede llegar a ser tedioso el hecho de introducir la contraseña una y otra vez. Con ssh se tiene la opción de deshabilitar la petición de contraseñas haciendo uso solo de las llaves publicas del cliente. Aquí veremos cómo hacer esto.

NOTA: Ten en cuenta que esto puede ser un problema de seguridad, en especial si alguien llega a ganar acceso a una sesión local en el cliente ssh, ya que tendrá acceso a tu cuenta en el servidor remoto.

Generación de llave

Para generar una llave pública del usuario del lado del cliente, se debe usar ssh-keygen como se muestra a continuación:

lgallard@moody:~$ ssh-keygen  -t rsa -N ''
Generating public/private rsa key pair.
Enter file in which to save the key (/home/lgallard/.ssh/id_rsa): 
Your identification has been saved in /home/lgallard/.ssh/id_rsa.
Your public key has been saved in /home/lgallard/.ssh/id_rsa.pub.
The key fingerprint is:
b0:53:cc:bd:44:cb:f8:39:81:5c:09:ae:66:1b:90:c8 lgallard@moody
The key's randomart image is:
+--[ RSA 2048]----+
|        ..o.     |
| . . . = B..     |
|  E o . O *      |
|     . = o +     |
|      B S =      |
|     o +   .     |
|      .          |
|                 |
|                 |
+-----------------+

Copiando la llave

Puedes usar una combinación de ssh y la salida estándar para agregar la llave pública en el servidor remoto, el cual corre el servicio ssh en el puerto 2022:

lgallard@moody:~$ cat ~/.ssh/id_rsa.pub | ssh -p 2022 lgallard@servidor.com 'cat - >> /home/lgallard/.ssh/authorized_keys' 

También puede hacerse por pasos, es decir:

  1. Copiamos la llave en el servidor:
    lgallard@moody:~$ scp -P 2022 ~/.ssh/id_rsa.pub lgallard@servidor.com:/home/lgallard/moody.pub
  2. Entramos al servidor y agregamos la llave pública:
    lgallard@moody:~$ ssh -p 2022 [email protected]
    [email protected] [~]#  cat moody.pub >> /home/lgallard/.ssh/authorized_keys
    [email protected] [~]# rm moody.pub

¿Cómo funciona?

Sencillo, ahora cuando quieras conectarte al servidor ssh no te pedirá la contraseña. Igual ocurrirá al copiar archivos de forma remota con scp.

Referencia: man ssh

,

3 Comentarios