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

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

  1. Åpne Terminal.
  2. 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>
  1. Koble til VPS-en på nytt:

ssh <brukernavn>@<ip-adressen-til-vps-en>
  1. SSH-klienten viser det nye fingerprintet og ber deg bekrefte tilkoblingen. Skriv:

yes

for å godta den nye host key-en og fortsette.


Windows – PowerShell / OpenSSH

  1. Åpne PowerShell.
  2. Fjern den gamle oppføringen:
ssh-keygen -R <ip-adressen-til-vps-en>
  1. Hvis ssh-keygen -R ikke fungerer med din OpenSSH-versjon, åpner du known_hosts manuelt:

notepad $env:USERPROFILE\.ssh\known_hosts

Finn linjen som inneholder IP-adressen eller vertsnavnet til VPS-en, slett linjen og lagre filen.

  1. Koble til VPS-en på nytt:

ssh <brukernavn>@<ip-adressen-til-vps-en>
  1. Når du blir bedt om å bekrefte det nye fingerprintet, skriver du:

yes

Windows – 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

  1. Koble til VPS-en i PuTTY som vanlig.
  2. Når meldingen WARNING – POTENTIAL SECURITY BREACH vises, kontrollerer du at endringen er forventet.
  3. 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

  1. Åpne Windows Registry Editor ved å skrive regedit.
  2. Gå til:

    HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys
  3. Finn oppføringen som tilhører IP-adressen eller vertsnavnet til VPS-en, for eksempel:

    rsa2@22:<ip-adresse>
  4. Slett den aktuelle oppføringen.
  5. Lukk Registry Editor og koble til VPS-en på nytt i PuTTY.
  6. 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 SshHostKeys som 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_hosts

    Kontroller 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.

Var denne artikkelen nyttig?

Fant du ikke det du trengte?

Chat med oss

Trenger du hjelp? Chat med oss direkte hverdager mellom kl. 8:30-16:30

Snakk med oss

Du kan ringe oss direkte på hverdager mellom kl. 09:00-15:00