Verificar la autenticidad del host SSH
Comprobar el archivo known_hosts
El archivo known_hosts es un componente crucial en el proceso de autenticación de host SSH. Este archivo almacena las claves públicas de los servidores SSH a los que te has conectado en el pasado. Puedes ver el contenido del archivo known_hosts utilizando el siguiente comando:
cat ~/.ssh/known_hosts
Esto mostrará la lista de hosts conocidos y sus correspondientes claves públicas.
Verificar manualmente la clave de host SSH
Si te estás conectando por primera vez a un servidor SSH o si la clave pública del servidor ha cambiado, es posible que debas verificar manualmente la clave de host. Puedes hacer esto siguiendo estos pasos:
-
Conéctate al servidor SSH utilizando el comando ssh:
ssh user@example.com
-
El cliente SSH mostrará la huella digital de la clave pública del servidor y te pedirá que la verifiques:
The authenticity of host 'example.com (192.168.1.100)' can't be established.
RSA key fingerprint is SHA256:abcd1234efgh5678ijkl9012mnop3456qrst.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
-
Verifica la huella digital comparándola con el valor esperado, que puedes obtener de una fuente de confianza (por ejemplo, el administrador del servidor).
-
Si la huella digital coincide, escribe yes para agregar la clave pública del servidor al archivo known_hosts y establecer la conexión.
Automatizar la verificación de la clave de host SSH
Para automatizar el proceso de verificación de la clave de host SSH, puedes utilizar el comando ssh-keyscan. Esta herramienta se puede utilizar para recuperar las claves públicas de los servidores SSH y agregarlas al archivo known_hosts. Aquí tienes un ejemplo:
ssh-keyscan -H example.com >> ~/.ssh/known_hosts
Este comando agregará la clave pública del servidor example.com al archivo known_hosts.
Al entender y aplicar estas técnicas, puedes verificar de manera efectiva la autenticidad de los hosts SSH y garantizar la seguridad de tus conexiones remotas.