¿Qué es el error 'Host Key Verification Failed' en Linux?
El error 'Host Key Verification Failed' es una medida de seguridad del protocolo SSH (Secure Shell) en sistemas Linux. Ocurre cuando la clave pública del servidor remoto al que intentas conectarte no coincide con la huella digital que tu máquina local tiene registrada en el archivo known_hosts. Esto previene que un tercero suplante la identidad del servidor para interceptar tus credenciales.
Causas comunes de este problema
Este fallo de conexión por terminal suele deberse a tres situaciones muy habituales en la administración de sistemas Linux:
- Se ha reinstalado el sistema operativo en el servidor de destino, regenerando sus claves SSH.
- La dirección IP o el dominio del host remoto ha sido reasignado a otra máquina diferente.
- Se ha modificado intencionadamente la configuración del daemon de SSH en el destino.
Método 1: Eliminar la clave desactualizada con ssh-keygen (Recomendado)
La forma más limpia, rápida y segura de resolver este inconveniente es utilizando la herramienta integrada de SSH para purgar el registro conflictivo. Ejecuta el siguiente comando en tu terminal reemplazando la IP o dominio por el de tu servidor:
ssh-keygen -R 192.168.1.100
Este comando buscará la entrada exacta dentro de tu ruta local, creará una copia de seguridad del archivo known_hosts y eliminará la clave antigua automáticamente. Al intentar conectarte de nuevo por SSH, el sistema te solicitará confirmar la nueva clave para guardarla.
Método 2: Editar el archivo known_hosts manualmente
Si prefieres gestionar las firmas de seguridad de forma manual, puedes editar el archivo de registro usando un editor de texto de terminal como nano o vi:
- Abre el archivo de claves de confianza ejecutando:
nano ~/.ssh/known_hosts - Busca la línea correspondiente a la dirección IP o dominio que genera el error.
- Borra la línea completa del archivo.
- Guarda los cambios presionando Ctrl+O y cierra el editor con Ctrl+X.
Método 3: Omitir la comprobación de seguridad (Entornos de prueba)
Si te encuentras automatizando scripts en redes locales de prueba y necesitas saltarte esta validación sin alterar tus archivos, puedes forzar el enlace empleando parámetros de configuración específicos al iniciar la conexión:
ssh -o StrictHostKeyChecking=no usuario@192.168.1.100
Este comando ignorará la coincidencia de llaves y te permitirá acceder directamente, aunque se desaconseja su uso en entornos de producción expuestos a internet por cuestiones de seguridad.