Autenticación sin usuario y contraseña mediante “SSH”

Esto se puede conseguir generando una clave RSA en la máquina cliente, y dejando la parte pública de dicha clave en el servidor, de modo que cuando el cliente intente conectarse al servidor, este se refiera al cliente. Para este laboratorio se propuso la siguiente topología de máquinas y usuarios:


Paso 1 Generar claves publicas

Se inicia el servicio SSH y se generan las claves públicas en los servidores a comunicar de forma segura como lo indica la Imagen 1 y la Imagen 2.

 Imagen 1. Clave publica HOST A

 Imagen 2. Clave publica HOST B

Paso 2 Iniciar servicio SSH

Verificar que el servicio SSH está funcionando correctamente después de iniciar el este con el comando indicado. En  la siguiente Imagen 3 se evidencia el servicio del HOST A arriba

# /etc/init.d/shh start

Imagen 3. Conexión HOST A HOST B por SSH

En la imagen 4 se evidencia la conexión funcionando entre los dos host.

 Imagen 4. Conexión HOST B a HOST A por SSH

Paso 3 Compartir claves publicas

Después de haber realizado por primera vez la conexión pidiendo autenticación se deben compartir las claves públicas de cada uno de los host como lo indican las imágenes 5 y 6, donde se muestra la transferencia exitosa de las claves públicas.

 Imagen 5. Transferencia clave publica del HOST B

Imagen 6. Transferencia clave publica del HOST A

Se copiaron los archivos en /root y posterior a ello se renombraron y se llevaron a la carpeta /.ssh donde se almacenaran tantas claves publicas como servidores se deseen conectar.

Paso 4 Authorized_keys

Se realizo la copia de las claves públicas para poder ser ejecutadas por el servidor remoto y que permita la conexión segura la imagen 7 muestra las Authorized_keys en los directorios de cada uno de los servidores.

Imagen 7. Authorized_keys en /.shh
  
Paso 5 Conexión SSH sin password

En las imágenes 8 y 9 se muestran las conexiones SSH evidenciando la IP del equipo remoto del cual se está tomando la sesión, para esto la primera vez se deben aceptar los permisos  y posterior a ello si se decide realizar una conexión con mas servidores por SHH se deben renombrar con Authorized_keys1, Authorized_keys2, Authorized_keysN, de esta forma se podrán evitar conflictos en el sistema con autenticación.

Imagen 8. HOST A por SHH a HOST B sin password

 Imagen 9. HOST A por SHH a HOST B sin password


Paso 6 Creación de Known_host

En la carpeta /.ssh se crea cuando hay una conexión el archivo Known_host que almacena todos los registros de las sesiones enlazadas, este sirve para verificar la conectividad y adicionar como mecanismo de seguridad para auditar las conexiones. En la imagen 10 se evidencia la creación del archivo Known_host después de la conexión del host B.

 Imagen 10. Known_host B

Al igual que en el host A cuando se realizo la conexión por ssh desde el host B este creo a su vez un archivo llamado Known_host que contiene la información anteriormente descrita.

Imagen 11. Known_host A

Es posible aumentar un poco más el nivel de seguridad del manejo de las llaves encriptándolas con una contraseña, y a su vez permite identificar claras fases para el establecimiento de una conexión sin autenticación cifrada, necesaria y requerida de manera cotidiana para el desarrollo de cargas transaccionales de alto nivel garantizando un túnel seguro en cluster o ambientes de máquinas distribuidas, tipo grilla.