Conexión transparente mediante SSH en Debian 8 Jessie

conexion-transparente-mediante-ssh-top

Estoy configurando un nuevo Sistema de Backups Automáticas para mis servidores.

El primer problema que me he encontrado es que necesitaba crear una conexión transparente mediante SSH.

El protocolo SSH, mediante la utilidad authorized_keys, nos proporciona la posibilidad de autentificar sin contraseña desde un equipo cliente (Willy) a un servidor remoto (Jeffri).



Por ejemplo, queremos acceder desde el cliente WILLY, usando el usuario «cli», al servidor JEFFRI, usando el usuario «serv».

El funcionamiento es el siguiente:

  • Generamos una pareja de claves pública/privada en el equipo cliente.
  • Indicamos, para un usuario concreto del servidor, la lista de claves públicas de clientes que pueden acceder con la clave privada asociada (sin necesidad de usar contraseña).

El primer paso es ejecutar en el cliente, con el usuario que vayamos a usar en este caso CLI, el siguiente comando:

cli@willy:~$ ssh-keygen

cli@willy:~$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Created directory '/home/cli/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/cli/.ssh/id_rsa.
Your public key has been saved in /home/cli/.ssh/id_rsa.pub.
The key fingerprint is:
xx:9e:xx:aa:xx:6b:xx:14:xx:xx:7c:5b:xx:8b:xx:53 usuario@jeffri
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| E |
| . . o |
| o o . S |
| + * . . |
|.o * . .o . |
|..o.+ + + |
| .o.+++. . |
+-----------------+

Debemos tener en cuenta que para que se realice la conexión transparente mediante SSH debemos dejar en blanco la passphrase, de lo contrario tendríamos que indicarla siempre que queramos loguearnos.

Si no hemos indicado otro directorio, las claves (id_dsa.pub y id_rsa.pub) deberían encontrarse en el directorio /home/cli/.ssh/

Para poder acceder al servidor tenemos que copiar el contenido del fichero id_rsa.pub, en el fichero authorized_keys del directorio $HOME/.ssh/ del usuario del servidor al que necesitamos conectar.

Tendríamos que copiar el contenido del fichero /home/cli/.ssh/id_rsa.pub (ubicado en WILLY), dentro del fichero /home/serv/.ssh/authorized_keys (ubicado en JEFFRI).

Podemos hacerlo fácilmente mediante el siguiente comando.

cli@willy:# scp -P 50000 /home/cli/.ssh/id_rsa.pub serv@jeffri:/home/serv/.ssh/authorized_keys

cli@willy:# scp -P 50000 /home/cli/.ssh/id_rsa.pub serv@jeffri:/home/serv/.ssh/authorized_keys
serv@jeffris's password:
id_rsa.pub 100% 392 0.4KB/s 00:00

Para confirmar que todo ha funcionado correctamente, intentamos acceder por ssh al servidor remoto.

cli@willy:~/.ssh# ssh -p 50000 serv@jeffri

cli@willy:~/.ssh# ssh -p 50000 serv@jeffri

Linux jeffri 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Jul 12 12:05:08 2015 from willy

serv@jeffri:~#

Como podéis apreciar, hemos conseguido conectar sin problema al servidor remoto sin que nos solicite contraseña alguna. 🙂

Eso es todo, si os ha resultado útil el post no olvidéis compartir.




Deja un comentario

asesor-tecnologico

Consultoría tecnológica para tus proyectos online.

(+34) 665 04 53 75

info@asesortecnologico.es

Seguro que puedo ayudarte

¡Escríbeme!

Responderé cualquier pregunta o te proporcionaré un presupuesto de mis servicios en menos de 24 horas.