WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (ssh host key changed)
The server’s SSH host key differs from the one saved in ~/.ssh/known_hosts — usually because the server was rebuilt or the IP was reused.
Seen on:
Linux
Meaning
SSH protects you from man-in-the-middle attacks by pinning host keys. Rebuilt VMs, reused cloud IPs, or reinstalling the OS change the key. If you didn’t expect a change, verify with the server owner before trusting it.
Common causes
- Server reinstalled/rebuilt or new VM on the same IP
- Load balancer/DNS pointing to a different host
- Genuine man-in-the-middle (rare — verify)
⚡ Quick fix
- Confirm the change is expected
- Remove the old key: ssh-keygen -R host
- Reconnect and accept the new fingerprint (verify it out of band)
Detailed fix by platform
Shell
- bash
ssh-keygen -R 203.0.113.10 ssh-keygen -R example.com ssh user@example.com
How to diagnose
- Expected — Was the server rebuilt?
- Fingerprint — Compare with the server console (ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub)
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- 1005 Cloudflare Error 1005: Access denied — The owner of this website has banned the autonomous system number (ASN) your IP address is in
- 1006 Cloudflare Error 1006 / 1007 / 1008: Access denied — Your IP address has been banned
- 403 Forbidden wp-admin WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php
Most viewed in Linux
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026