SSH-isäntäavaimen virheen korjaaminen Cloud Serverin uudelleenasennuksen jälkeen

Julkaistu | Päivitetty
Kun asennat Cloud Serverin uudelleen, SSH-yhteyttä muodostaessasi saatat nähdä ilmoituksen siitä, että palvelimen isäntäavain on muuttunut. Tämä ohje kertoo, miten tilanne korjataan turvallisesti Terminalissa, PowerShellissä (OpenSSH) ja PuTTYssä.
 

SSH-asiakasohjelmat:

  • Terminal (OpenSSH) macOS- ja Linux-järjestelmissä
  • PowerShellin OpenSSH Windowsissa
  • PuTTY Windowsissa

Tilanteet, joissa virhe voi ilmetä:

  • Cloud Serverin uudelleenasennuksen (redeploy) jälkeen
  • Palvelimen SSH-isäntäavainten uudelleenluonnin jälkeen

Esimerkkivirhe

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

 

Miksi tämä tapahtuu?

SSH-palvelin luo ensimmäisellä käynnistyskerrallaan joukon yksilöllisiä isäntäavaimia. Kun yhdistät palvelimelle ensimmäisen kerran, SSH-asiakasohjelma tallentaa avaimen sormenjäljen paikallisesti ja tarkistaa sen jokaisella myöhemmällä yhteyskerralla. Näin voidaan varmistaa, että yhteys muodostetaan edelleen samaan palvelimeen eikä väliin ole tullut kolmatta osapuolta.

  • OpenSSH tallentaa tiedot known_hosts-tiedostoon.
  • PuTTY tallentaa tiedot Windowsin rekisteriin.

Kun Cloud Server asennetaan uudelleen, myös SSH-isäntäavaimet luodaan uudestaan. Vaikka palvelimen IP-osoite pysyy samana, sen sormenjälki muuttuu.

SSH-asiakas vertaa uutta sormenjälkeä aiemmin tallennettuun arvoon. Jos ne eivät täsmää, yhteyttä ei muodosteta automaattisesti, vaan käyttäjälle näytetään varoitus mahdollisen välistävetohyökkäyksen (man-in-the-middle attack) varalta.

Tämä on normaalia toimintaa palvelimen uudelleenasennuksen jälkeen eikä viittaa tietoturvaongelmaan.


Korjausohjeet

macOS ja Linux (Terminal)

  • Avaa Terminal.
  • Poista vanha isäntäavainmerkintä:
ssh-keygen -R <palvelimen-ip>
  • Jos käytät yhteydessä palvelimen nimeä (esimerkiksi rDNS-nimeä), poista myös sitä vastaava merkintä:
ssh-keygen -R <palvelimen-nimi>
  • Muodosta yhteys uudelleen:
ssh <käyttäjä>@<palvelimen-ip>
  • SSH näyttää uuden avaimen sormenjäljen ja pyytää vahvistusta. Hyväksy uusi avain kirjoittamalla:
yes
 
 

Windows (PowerShell / OpenSSH)

  • Avaa PowerShell.
  • Poista vanha isäntäavainmerkintä:
ssh-keygen -R <palvelimen-ip>
  • Jos käyttämäsi OpenSSH-versio ei tue -R-parametria, avaa known_hosts-tiedosto manuaalisesti:
notepad $env:USERPROFILE\.ssh\known_hosts
  • Etsi rivi, joka sisältää palvelimen IP-osoitteen tai hostnamen.
  • Poista kyseinen rivi, tallenna tiedosto ja sulje Muistio.
  • Muodosta yhteys uudelleen:
ssh <käyttäjä>@<palvelimen-ip>
  • Hyväksy uusi sormenjälki kirjoittamalla:
yes
 
 

Windows (PuTTY)

Vaihtoehto A: Hyväksy uusi avain yhteyden muodostamisen yhteydessä

  • Avaa PuTTY ja yhdistä palvelimeen normaalisti.
  • Kun näkyviin tulee ilmoitus:
WARNING - POTENTIAL SECURITY BREACH
  • Tarkista uusi sormenjälki ja valitse Yes.

PuTTY tallentaa uuden avaimen automaattisesti, eikä ilmoitusta näytetä enää seuraavilla yhteyskerroilla.

Vaihtoehto B: Poista vanha avain manuaalisesti

  • Avaa Rekisterieditori:
regedit
  • Siirry polkuun:
HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys
  • Etsi palvelinta vastaava merkintä, esimerkiksi:
rsa2@22:<ip-osoite>
  • Poista merkintä.
  • Sulje Rekisterieditori.
  • Muodosta yhteys uudelleen PuTTYllä ja hyväksy uusi avain valitsemalla Yes.

Tärkeää huomioitavaa

  • Hyväksy uusi SSH-isäntäavain vain silloin, kun tiedät muutoksen syyn, esimerkiksi jos olet juuri asentanut palvelimen uudelleen.
  • Jos varoitus ilmestyy ilman, että olet tehnyt muutoksia palvelimeen, selvitä syy ennen yhteyden muodostamista.
  • Älä poista isäntäavainten tarkistusta käytöstä esimerkiksi asetuksella StrictHostKeyChecking=no. Tämä heikentää merkittävästi SSH-yhteyksien tietoturvaa.
  • Muokkaa Windowsin rekisteriä vain yllä mainitusta sijainnista. Virheelliset muutokset voivat aiheuttaa järjestelmäongelmia.
  • Toimenpide tarvitsee tehdä vain kerran jokaisen uudelleenasennuksen jälkeen. Kun uusi avain on hyväksytty, yhteydet toimivat normaalisti siihen asti, kunnes palvelin asennetaan uudelleen seuraavan kerran.

Jos ongelma jatkuu

"Permission denied" tai "Access denied"

Tarkista käyttäjätunnus, salasana ja mahdollinen SSH-avain. Uudelleenasennus palauttaa palvelimen käyttöjärjestelmän oletusasetukset ja käyttöoikeudet.

Varoitus näkyy edelleen avaimen poistamisen jälkeen

Joissakin ympäristöissä käytössä voi olla useita known_hosts-tiedostoja. Varmista, että poistit merkinnän juuri siitä tiedostosta, jota SSH-asiakas käyttää.

PuTTY kysyy avaimen hyväksymistä joka kerta

Varmista, että hyväksyit avaimen valitsemalla Yes eikä No tai Cancel. Tarkista myös, että poistit oikean rekisterimerkinnän.

Yhteys ei muodostu lainkaan

Varmista, että:

  • palvelin on käynnissä
  • palomuuri sallii SSH-yhteydet
  • mahdolliset IP-rajaukset eivät estä yhteyttäsi

Usein kysytyt kysymykset

Miksi SSH-avaimen sormenjälki muuttui?

Palvelimen uudelleenasennus luo uudet SSH-isäntäavaimet osana käyttöjärjestelmän puhdasta asennusta. Tämän vuoksi sormenjälki muuttuu, vaikka IP-osoite säilyy samana.

Voinko hyväksyä uuden sormenjäljen turvallisesti?

Kyllä, jos tiedät muutoksen johtuvan omasta toimenpiteestäsi, kuten palvelimen uudelleenasennuksesta. Jos et ole tehnyt muutoksia, varmista muutoksen syy ennen hyväksymistä.

Joudunko hyväksymään uuden SSH-isäntäavaimen uudelleen?

Kyllä, aina kun palvelin asennetaan uudelleen tai SSH-isäntäavaimet luodaan uudelleen. Tällöin uusi sormenjälki täytyy hyväksyä ensimmäisen yhteyskerran yhteydessä.

 

Oliko tämä artikkeli hyödyllinen?

Etkö löydä sitä, mitä etsit?

Aloita chat

Se on nopein tapa ottaa yhteyttä, joka päivä ympäri vuoden.