Slik løser du SSH host key-feil etter Redeploy
Etter at du har kjørt Redeploy på VPS-en, kan SSH-klienten varsle om at serverens host key har blitt endret. Dette er forventet etter en reinstallasjon.
I denne guiden viser vi hvordan du løser feilen i Terminal, PowerShell/OpenSSH og PuTTY.
Innhold i denne guiden:
- Før du begynner
- Eksempel på feilmelding
- Hvorfor oppstår feilen?
- macOS / Linux – Terminal
- Windows – PowerShell / OpenSSH
- Windows – PuTTY
- Viktig å vite
- Vanlige spørsmål
Før du begynner
Denne guiden gjelder VPS-er som kjører Linux.
Feilen kan oppstå etter:
- Redeploy eller reinstallasjon av VPS-en
- andre endringer som genererer nye SSH host keys
Guiden dekker:
- macOS og Linux med Terminal/OpenSSH
- Windows med PowerShell/OpenSSH
- Windows med PuTTY
Viktig: Godta bare en ny SSH host key dersom du vet hvorfor den har blitt endret, for eksempel fordi du nettopp har kjørt Redeploy på VPS-en.
Hvis advarselen kommer uten at du har gjort endringer på serveren, bør du kontrollere årsaken før du kobler til.
Eksempel på feilmelding
I Terminal eller PowerShell kan feilen blant annet se slik ut:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now
(man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Remove offending key in /home/user/.ssh/known_hosts:3
Host key for <ip-or-hostname> has changed and you have requested strict checking.
Host key verification failed.Den nøyaktige teksten kan variere avhengig av SSH-klient og operativsystem.
Hvorfor oppstår feilen?
En SSH-server genererer et unikt sett med host keys første gang den starter. Når du kobler til serveren, lagrer SSH-klienten et fingerprint av nøkkelen. Ved senere tilkoblinger brukes dette til å kontrollere at du fortsatt kobler til den samme serveren og ikke en annen server som utgir seg for å være den.
Terminal og PowerShell/OpenSSH lagrer denne informasjonen i en known_hosts-fil. PuTTY lagrer den i Windows-registeret.
Når du kjører Redeploy, installeres operativsystemet fra bunnen av – inkludert serverens SSH host keys. VPS-en beholder samme IP-adresse, men presenterer nå et helt nytt fingerprint.
SSH-klienten sammenligner dette med fingerprintet som allerede er lagret. Når de ikke stemmer overens, antar klienten – helt riktig – at det kan være snakk om et man-in-the-middle-angrep og viser derfor en advarsel i stedet for å koble til uten videre.
Dette er forventet etter Redeploy og betyr ikke i seg selv at det har oppstått en feil eller sikkerhetshendelse på VPS-en.
macOS / Linux – Terminal
- Åpne Terminal.
- Fjern den gamle oppføringen fra
known_hosts:
ssh-keygen -R <ip-adressen-til-vps-en>Hvis du vanligvis kobler til via et vertsnavn, for eksempel via rDNS, kjører du også:
ssh-keygen -R <vertsnavn>Koble til VPS-en på nytt:
ssh <brukernavn>@<ip-adressen-til-vps-en>SSH-klienten viser det nye fingerprintet og ber deg bekrefte tilkoblingen. Skriv:
yesfor å godta den nye host key-en og fortsette.
Windows – PowerShell / OpenSSH
- Åpne PowerShell.
- Fjern den gamle oppføringen:
ssh-keygen -R <ip-adressen-til-vps-en>Hvis
ssh-keygen -Rikke fungerer med din OpenSSH-versjon, åpner duknown_hostsmanuelt:
notepad $env:USERPROFILE\.ssh\known_hostsFinn linjen som inneholder IP-adressen eller vertsnavnet til VPS-en, slett linjen og lagre filen.
Koble til VPS-en på nytt:
ssh <brukernavn>@<ip-adressen-til-vps-en>Når du blir bedt om å bekrefte det nye fingerprintet, skriver du:
yesWindows – PuTTY
Du kan enten godta den nye host key-en direkte i PuTTY eller fjerne den gamle manuelt først.
Alternativ 1 – Godta ny host key i PuTTY
- Koble til VPS-en i PuTTY som vanlig.
- Når meldingen WARNING – POTENTIAL SECURITY BREACH vises, kontrollerer du at endringen er forventet.
- Klikk på Yes for å godta den nye host key-en og fortsette.
PuTTY lagrer det nye fingerprintet og bruker det ved senere tilkoblinger.
Alternativ 2 – Fjern den gamle host key-en manuelt
- Åpne Windows Registry Editor ved å skrive
regedit. -
Gå til:
HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys -
Finn oppføringen som tilhører IP-adressen eller vertsnavnet til VPS-en, for eksempel:
rsa2@22:<ip-adresse> - Slett den aktuelle oppføringen.
- Lukk Registry Editor og koble til VPS-en på nytt i PuTTY.
- Når du blir bedt om å godta det nye fingerprintet, klikker du på Yes.
Viktig å vite
- Godta bare en ny host key dersom du vet hvorfor den har blitt endret, for eksempel fordi du nettopp har kjørt Redeploy eller reinstallert VPS-en selv. Hvis advarselen vises uten at du har gjort endringer, bør du behandle den som en potensiell sikkerhetsrisiko og kontrollere årsaken før du kobler til.
- Hvis advarselen vises uten at du har gjort endringer, bør du behandle den som en potensiell sikkerhetsrisiko og kontrollere årsaken før du kobler til.
- Ikke deaktiver kontroll av SSH host keys, for eksempel med
StrictHostKeyChecking=no. Denne kontrollen er en viktig sikkerhetsmekanisme. - Vær forsiktig når du redigerer Windows-registeret. Endre kun oppføringen under
SshHostKeyssom tilhører VPS-en. - Du trenger normalt bare å gjøre dette én gang etter hver Redeploy. Når den nye host key-en er lagret, fungerer senere tilkoblinger som normalt.
Feilsøking og vanlige problemer
-
Jeg får «Permission denied» etter at host key-feilen er løst
Kontroller brukernavn og passord eller SSH-nøkkel. Redeploy tilbakestiller VPS-en til standard innloggingsopplysninger for operativsystemet.
-
Jeg får fortsatt host key-feil i Terminal eller PowerShell
Noen oppsett kan bruke flere
known_hosts-filer, for eksempel både en brukerfil og en systemomfattende fil. Det kan også hende at filen ligger på en annen plass enn:$env:USERPROFILE\.ssh\known_hostsKontroller at du har fjernet oppføringen fra filen SSH-klienten faktisk bruker.
-
Advarselen fortsetter å vises i PuTTY
Kontroller at du godtok fingerprintet ved å klikke på Yes, og ikke No eller Cancel. Hvis du fjernet oppføringen manuelt, kontrollerer du at riktig oppføring ble slettet fra Windows-registeret.
-
Jeg får ikke koblet til VPS-en
Kontroller at VPS-en er slått på, og at tilkoblingen ikke blokkeres av brannmur eller IP Access Rule.
Vanlige spørsmål
-
Hvorfor ble SSH-fingerprintet til VPS-en endret?
Når du kjører Redeploy, installeres operativsystemet på nytt og VPS-en genererer nye SSH host keys.
IP-adressen forblir den samme, men SSH-fingerprintet blir nytt.
-
Er det trygt å godta det nye fingerprintet?
Ja, dersom du vet at endringen skyldes at du nettopp har kjørt Redeploy eller reinstallert VPS-en.
Hvis du ikke har gjort noen endringer og advarselen dukker opp uventet, bør du ikke godta den før du har undersøkt årsaken.
-
Vil dette skje igjen?
Bare dersom du kjører Redeploy, installerer VPS-en på nytt eller gjør en annen endring som genererer nye SSH host keys.