Wat de waarschuwing zegt
Een server bewijst zijn identiteit met een hostsleutel. Wanneer de sleutel afwijkt van de sleutel die uw client eerder heeft opgeslagen, toont OpenSSH REMOTE HOST IDENTIFICATION HAS CHANGED en weigert het de verbinding. De client kan een onschuldige wijziging niet van een aanval onderscheiden, dus beschouw de waarschuwing als onopgelost totdat u dit hebt gecontroleerd.
Veelvoorkomende oorzaken
Gebruikelijke oorzaken zijn een opnieuw geïnstalleerde server, een VM die uit een image is hersteld of gekloond, een adres dat nu aan een andere machine is toegewezen en een loadbalancer die u naar verschillende knooppunten stuurt. Een aanvaller die de verbinding onderschept, veroorzaakt dezelfde waarschuwing. Als u geen wijziging verwachtte, stop dan en voer geen wachtwoord in.
Vergelijk de vingerafdrukken
Lees de werkelijke vingerafdruk op de server via een kanaal dat niet van deze SSH-verbinding afhankelijk is, zoals de console van de provider of een hypervisorconsole. Het commando ssh-keyscan toont alleen wat het netwerk u aanbiedt en bewijst op zichzelf dus niets. Het is alleen nuttig voor vergelijking met de waarde uit de console.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -Vervang de oude vermelding
Verwijder de oude vermelding pas nadat de vingerafdrukken overeenkomen en maak opnieuw verbinding. Een afwijkende poort heeft een eigen vermelding met vierkante haken. ssh-keygen bewaart het vorige bestand als known_hosts.old. Schakel StrictHostKeyChecking niet uit en verwijder niet het volledige bestand known_hosts, want daarmee verwijdert u de bescherming voor al uw servers.
ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.exampleVoorkom de waarschuwing na een herinstallatie
Als u een server opnieuw wilt opbouwen en zijn identiteit wilt behouden, maak dan een veilige back-up van de hostsleutels in /etc/ssh en herstel ze met dezelfde eigenaar en rechten. Doe bij klonen het omgekeerde: elke machine die uit één image wordt gemaakt, heeft eigen hostsleutels nodig, anders delen meerdere servers één identiteit.
Hostsleutels in CH-J Server Manager
De app bewaart SHA-256-vingerafdrukken van hostsleutels in de versleutelde kluis, los van het OpenSSH-bestand known_hosts. Bij een wijziging blokkeert de app de verbinding en toont de bekende en de nieuwe vingerafdruk. De vermelding wordt alleen vervangen als u dit bevestigt; annuleren verandert niets. In Alpha 0.1.1 omvat de controle ook elke jump host en stopt een lopende overdracht wanneer de sleutel verandert. De app kan de nieuwe vingerafdruk niet voor u verifiëren, dus de controle via een ander kanaal blijft uw taak.