Les serveurs détiennent généralement une clé d’hôte par algorithme (/etc/ssh/ssh_host_ed25519_key, …_ecdsa_key, …_rsa_key), et l’ordre de HostKeyAlgorithms côté client détermine celle qui est utilisée. Au premier contact, OpenSSH affiche l’empreinte SHA-256 et demande s’il faut lui faire confiance ; ensuite, tout changement produit WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! et la connexion s’arrête (avec StrictHostKeyChecking à sa valeur par défaut).
Rotation des clés d’hôte sans casser les clients : l’option UpdateHostKeys d’OpenSSH (activée par défaut dans les clients récents) permet à un serveur d’annoncer toutes ses clés d’hôte après l’authentification, afin que les clients apprennent les nouvelles avant le retrait de l’ancienne. Les parcs de serveurs évitent entièrement la confiance au premier usage grâce aux certificats d’hôte (@cert-authority dans known_hosts) ou aux enregistrements SSHFP signés par DNSSEC (RFC 4255).
Les images de référence (golden images) qui embarquent les clés d’hôte donnent la même identité à chaque serveur cloné ; régénérez les clés au premier démarrage. HashKnownHosts stocke les noms d’hôte sous forme hachée, de sorte qu’un fichier known_hosts volé ne liste pas vos serveurs.