OpenSSH
SSH se niega a conectar y avisa de que la identificación del servidor ha cambiado. El cliente guarda la huella de cada servidor la primera vez y compara en cada conexión.
Este mensaje es una advertencia de seguridad, no un fallo de configuración. Borrar la entrada sin pensar es exactamente lo que haría falta para que un ataque de intermediario pasara desapercibido, así que primero conviene explicar por qué ha cambiado.
En el orden en que lo miramos nosotros. No es un ranking de frecuencia: no publicamos estadísticas que no hemos medido.
El servidor se ha reinstalado o reconstruido, y al reinstalar se generan claves de host nuevas. Es el motivo habitual y es legítimo.
Comprobar
ssh-keygen -F servidorCorregir
ssh-keygen -R servidor
# Y comparar la huella nueva con la que muestre la consola del proveedor antes de aceptarla.La IP se ha reasignado a otra máquina. Frecuente con direcciones dinámicas y con instancias efímeras.
Comprobar
ssh-keygen -F 203.0.113.10Corregir
ssh-keygen -R 203.0.113.10Conectas a través de un balanceador o un proxy que reparte entre varias máquinas, cada una con su clave.
Comprobar
for i in 1 2 3; do ssh-keyscan -t ed25519 servidor 2>/dev/null; done | sort -uCorregir
# Unificar las claves de host entre los nodos, o fijar HostKeyAlias por nodo en ~/.ssh/config.La huella que devuelve ese comando en el servidor es la que tiene que coincidir con la que el cliente muestra al conectar. Compararlas es la única comprobación que descarta un intermediario; si no cuadran y nadie ha reinstalado nada, no sigas.
Los comandos de esta página se ejecutan en tu servidor y algunos modifican la configuración: léelos antes de pegarlos. Las rutas y los nombres de servicio varían entre distribuciones. Así se elabora este catálogo.
Soporte Linux y DevOps en español