CH-J Server ManagerZarządzanie serwerem przez SSH
Menu
Wszystkie poradniki i artykuły →

Klucz hosta SSH uległ zmianie: co oznacza ostrzeżenie i co zrobić

Dowiedz się, dlaczego serwer przedstawia nowy klucz hosta, zweryfikuj go innym kanałem i bezpiecznie zastąp zapisany wpis.

Co mówi ostrzeżenie

Serwer potwierdza swoją tożsamość kluczem hosta. Gdy klucz różni się od wcześniej zapisanego przez klienta, OpenSSH wyświetla REMOTE HOST IDENTIFICATION HAS CHANGED i odmawia połączenia. Klient nie potrafi odróżnić nieszkodliwej zmiany od ataku, więc traktuj ostrzeżenie jako nierozwiązany problem, dopóki go nie sprawdzisz.

Typowe przyczyny

Zwykle przyczyną jest ponowna instalacja serwera, maszyna wirtualna odtworzona lub sklonowana z obrazu, adres przydzielony teraz innej maszynie albo mechanizm równoważenia obciążenia kierujący do różnych węzłów. Atakujący przechwytujący połączenie wywołuje takie samo ostrzeżenie. Jeśli zmiana była nieoczekiwana, zatrzymaj się i nie wpisuj hasła.

Porównaj odciski kluczy

Odczytaj rzeczywisty odcisk klucza na serwerze kanałem niezależnym od tego połączenia SSH, na przykład przez konsolę dostawcy lub hipernadzorcy. Polecenie ssh-keyscan pokazuje jedynie to, co przedstawia sieć, więc samo w sobie niczego nie dowodzi. Przydaje się tylko do porównania z wartością uzyskaną z konsoli.

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -

Zastąp stary wpis

Dopiero gdy odciski kluczy są zgodne, usuń stary wpis i połącz się ponownie. Niestandardowy port ma własny wpis zapisany z nawiasami kwadratowymi. ssh-keygen zachowuje poprzedni plik jako known_hosts.old. Nie wyłączaj StrictHostKeyChecking ani nie usuwaj całego pliku known_hosts, ponieważ usuwa to ochronę wszystkich twoich serwerów.

ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.example

Uniknij ostrzeżenia po ponownej instalacji

Jeśli planujesz odbudować serwer i chcesz zachować jego tożsamość, wykonaj bezpieczną kopię zapasową kluczy hosta w /etc/ssh i odtwórz je z tym samym właścicielem i uprawnieniami. W przypadku klonów postępuj odwrotnie: każda maszyna utworzona z jednego obrazu potrzebuje własnych kluczy hosta, inaczej kilka serwerów współdzieli jedną tożsamość.

Klucze hosta w CH-J Server Manager

Aplikacja przechowuje odciski SHA-256 kluczy hosta w swoim szyfrowanym sejfie, oddzielnie od pliku known_hosts używanego przez OpenSSH. Po zmianie blokuje połączenie i pokazuje znany oraz nowy odcisk klucza. Wpis jest zastępowany tylko po twoim potwierdzeniu, a anulowanie niczego nie zmienia. W Alpha 0.1.1 kontrola obejmuje też każdy serwer pośredniczący, a trwający transfer zatrzymuje się po zmianie klucza. Aplikacja nie może zweryfikować nowego odcisku za ciebie, więc sprawdzenie go innym kanałem pozostaje twoim zadaniem.

Dokumentacja szczegółowa

OpenSSH: ssh →

OpenSSH: ssh-keygen →

Biometryczne odblokowanie i bezpieczeństwo →