Ką praneša įspėjimas
Serveris savo tapatybę patvirtina serverio raktu. Kai raktas skiriasi nuo anksčiau kliento išsaugoto rakto, OpenSSH rodo REMOTE HOST IDENTIFICATION HAS CHANGED ir atsisako užmegzti ryšį. Klientas negali atskirti nekenksmingo pakeitimo nuo atakos, todėl laikykite įspėjimą neišspręstu, kol neatliksite patikros.
Dažnos priežastys
Įprastos priežastys yra iš naujo įdiegtas serveris, iš atvaizdo atkurta ar klonuota virtualioji mašina, kitam kompiuteriui priskirtas adresas ir apkrovos balansavimo priemonė, nukreipianti į skirtingus mazgus. Ryšį perimantis užpuolikas sukelia tokį pat įspėjimą. Jei pokyčio nesitikėjote, sustokite ir neįveskite slaptažodžio.
Palyginkite kontrolinius atspaudus
Tikrojo rakto kontrolinį atspaudą serveryje perskaitykite kanalu, kuris nepriklauso nuo šio SSH ryšio, pavyzdžiui, per paslaugos teikėjo ar hipervizoriaus konsolę. Komanda ssh-keyscan rodo tik tai, ką jums pateikia tinklas, todėl pati savaime nieko neįrodo. Ji naudinga tik palyginimui su konsolėje gauta reikšme.
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -Pakeiskite seną įrašą
Tik sutapus kontroliniams atspaudams pašalinkite seną įrašą ir prisijunkite iš naujo. Nestandartinis prievadas turi atskirą įrašą su laužtiniais skliaustais. ssh-keygen ankstesnį failą išsaugo kaip known_hosts.old. Neišjunkite StrictHostKeyChecking ir neištrinkite viso known_hosts failo, nes taip pašalintumėte visų savo serverių apsaugą.
ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.exampleKaip išvengti įspėjimo įdiegus iš naujo
Jei planuojate perkurti serverį ir norite išlaikyti jo tapatybę, saugiai sukurkite /etc/ssh esančių serverio raktų atsarginę kopiją ir atkurkite juos su tuo pačiu savininku bei teisėmis. Su klonais elkitės priešingai: kiekvienam iš vieno atvaizdo sukurtam kompiuteriui reikia savų serverio raktų, antraip keli serveriai dalysis viena tapatybe.
Serverio raktai CH-J Server Manager programoje
Programa saugo serverio raktų SHA-256 kontrolinius atspaudus savo šifruotoje saugykloje, atskirai nuo OpenSSH failo known_hosts. Raktui pasikeitus ji blokuoja ryšį ir rodo žinomą bei naują kontrolinį atspaudą. Įrašas pakeičiamas tik jums patvirtinus, o atšaukimas nieko nekeičia. Alpha 0.1.1 patikra apima ir kiekvieną tarpinį serverį, o vykstantis perdavimas sustoja raktui pasikeitus. Programa negali patvirtinti naujo kontrolinio atspaudo už jus, todėl patikra kitu kanalu lieka jūsų užduotis.