50% zniżki wszystkie plany, oferta czasowa. Od $2.48/mo
10 min pozostało
Bezpieczeństwo i Sieć

Warning: Remote Host Identification Has Changed i jak to naprawić

Rexa Cyrus By Rexa Cyrus Czytanie 10 minut Aktualizacja 71 dni temu
Okno terminala wyświetlające komunikat ostrzegawczy SSH o zmianie identyfikacji zdalnego hosta, z tytułem przewodnika naprawczego i brandingiem Cloudzy na ciemnozielonym tle.

SSH to bezpieczny protokół sieciowy, który tworzy szyfrowany tunel między systemami. Pozostaje popularny wśród programistów potrzebujących zdalnego dostępu do komputerów bez interfejsu graficznego. Chociaż SSH istnieje od dziesięcioleci i niezawodnie służył niezliczonym użytkownikom, może być narażony na pewne błędy.

Wiele z tych błędów stało się dobrze znane w społeczności SSH, a ich rozwiązania są szeroko udokumentowane. Obejmują one niezgodność zapory, Problemy z wstrzykiwaniem klucza publicznego SSH, Problemy z trybem klucza pliku SSH, a błąd "Warning: Remote Host Identification Has Changed".

Ten błąd pojawia się na wszystkich głównych systemach operacyjnych, w tym Windows, Linux i macOS. Źródłem problemu może być rzeczywisty problem bezpieczeństwa, a nie zwyczajna awaria techniczna. W tym artykule wyjaśnimy, dlaczego się to dzieje, co oznacza dla bezpieczeństwa twojego połączenia SSH i jak to rozwiązać na każdej z głównych platform.

Co Powoduje Ostrzeżenie: Zmiana Identyfikacji Hosta Zdalnego (i Czy Powinieneś Się Martwić?)

Komunikat "Ostrzeżenie: identyfikacja hosta zdalnego uległa zmianie" pojawia się, gdy publiczny klucz SSH przechowywany w Twoim known_hosts plik nie odpowiada kluczowi, który serwer aktualnie prezentuje. Ta niezgodność aktywuje wbudowany mechanizm zabezpieczeń SSH, aby chronić Cię przed potencjalnymi zagrożeniami.

Uzasadnione przyczyny zmian klucza hosta

Istnieje kilka niewinnych powodów, dla których klucz hosta serwera może ulec zmianie. Czasami można spotkać się z wariantami komunikatu, takimi jak „RSA host key has changed", w zależności od konkretnego używanego typu klucza.

Infografika prezentująca zmiany serwera, które modyfikują klucze hosta SSH, w tym uaktualniane systemu operacyjnego, odbudowę serwera, przywracanie kopii zapasowych, migrację z serwera fizycznego na wirtualny oraz resetowanie konfiguracji SSH.
Zmiany dotyczące serwera:

  • System operacyjny serwera został zainstalowany ponownie lub zaktualizowany
  • Serwer został przebudowany lub przywrócony z kopii zapasowej
  • Konfiguracja serwera SSH została zresetowana
  • Serwer fizyczny lub wirtualny został zastąpiony
  • Migracja serwera na nowy sprzęt

Zmiany konfiguracji sieci:

  • Dostawcy chmury ponownie wykorzystują adresy IP w miarę upływu czasu albo twoje połączenie przechodzi przez load balancer.
  • DHCP przydzielił adres IP innej maszynie
  • Adres IP z wycofanego serwera został przypisany do nowego systemu
  • Rekordy DNS zostały zaktualizowane, aby wskazywać inny serwer

Diagram sieci pokazujący serwer DHCP przydzielający dynamiczne adresy IP maszynom wirtualnym, gdzie likwidacja serwera i ponowne wydawanie adresów powodują konflikty klucza hosta SSH.

Kluczowe działania zarządzania:

  • Administratorzy systemów ręcznie ponownie wygenerowali klucze hosta ze względów bezpieczeństwa
  • Oprogramowanie serwera SSH zostało ponownie zainstalowane
  • Polityka bezpieczeństwa wymaga rotacji kluczy

Ważne jest zrozumienie, że zmiana hasła użytkownika nie wpływa na klucze hosta. Stanowią one oddzielne mechanizmy uwierzytelniania. Klucze hosta zmieniają się tylko wtedy, gdy sam serwer lub jego konfiguracja SSH zostaje zmodyfikowana.

Kiedy wziąć ostrzeżenie poważnie

Chociaż wiele zmian kluczy hosta jest uzasadnionych, może to wskazywać na prawdziwe zagrożenie bezpieczeństwa. Powinieneś być ostrożny jeśli:

  • Nie dokonałeś żadnych zmian na serwerze ani nie wiesz o zaplanowanej konserwacji
  • Nie możesz zweryfikować przyczyny zmiany klucza z administratorem serwera
  • Serwer jest dostępny przez publiczne sieci lub niezaufane połączenia
  • Łączysz się z systemami produkcyjnymi lub serwerami zawierającymi wrażliwe dane


Podzielony ekran porównujący uzasadnione zmiany SSH wyświetlane na zielono z scenariuszami zagrożeń bezpieczeństwa na czerwono, z postacią w kapturze reprezentującą ataki typu man-in-the-middle.
Ataki typu man-in-the-middle, choć stosunkowo rzadkie, zdarzają się. W takich atakach napastnik pozycjonuje się między twoim komputerem a legytymnym serwerem, przechwytując cały ruch.

Błąd człowieka i inżynieria społeczna odpowiadają za 68% naruszeń bezpieczeństwa, dlatego czujność jest kluczowa. Możesz dodatkowo chronić swoje systemy, poznając ochronę przed atakami brute-force.

Ostatnie statystyki IBM pokazują, że średni globalny koszt naruszenie danych wyniósł 4,44 miliona dolarów w 2025 roku, a średni czas wykrycia to osiem miesięcy. To pokazuje, dlaczego mechanizm weryfikacji klucza hosta SSH istnieje i dlaczego nigdy nie powinieneś ignorować tych ostrzeżeń bez dokładnego zbadania.

Jak zweryfikować czy ostrzeżenie jest bezpieczne

Zanim przystąpisz do rozwiązania problemu, wykonaj następujące kroki weryfikacji:

Schemat blokowy pokazujący pięć metod weryfikacji potwierdzające uzasadnione zmiany klucza hosta SSH, w tym konsultację z zespołem, kontakt z dostawcą hostingu, bezpieczne kanały i porównanie odcisków palców.

  1. Skonsultuj się z zespołem: Jeśli dzielisz dostęp do serwera, zapytaj kolegów czy dokonali zmian
  2. Przejrzyj logi serwera: Sprawdź rekordy konserwacji lub logi zmian w poszukiwaniu ostatniej aktywności
  3. Skontaktuj się z dostawcą hostingu: Jeśli używasz usług chmury, zweryfikuj czy doszło do konserwacji
  4. Użyj bezpiecznego kanału: Jeśli to możliwe, połącz się przez znana bezpieczną sieć aby zweryfikować odcisk palca
  5. Porównaj odciski: Algunos dostawcy hostingu wyświetlają bieżące odciski palców SSH w swoich panelach kontrolnych

Jeśli potwierdzisz, że zmiana klucza była uzasadniona, możesz bezpiecznie usunąć stary klucz i zaakceptować nowy.

Jeśli chcesz uniknąć ponownego przypisania dynamicznego adresu IP lub konfliktów kluczy hosta, wybór infrastruktury ma kluczowe znaczenie.

Cloudzy udostępnia Hosting SSH VPS ze statycznymi dedykowanymi adresami IP. Działasz na procesorach Ryzen 9 AMD z magazynem NVMe dla natychmiastowego wykonywania poleceń. Nasza sieć zapewnia 40 Gbps w 12 globalnych lokalizacjach. Dodatkowo dołączamy bezpłatną ochronę DDoS, aby zabezpieczyć Twoje połączenie.

Jak naprawić błąd "Remote Host Identification Has Changed"

Rozwiązanie jest proste: usuń stary rekord klucza z systemu. To usunie niezgodność i pozwoli Ci zapisać nowy klucz przy następnym połączeniu. Sprawdź nasz przewodnik na temat Klienty SSH aby uzyskać więcej narzędzi.

Poza tym możesz to zrobić za pomocą jednego polecenia lub ręcznie edytując plik.

Metoda 1: Wiersz poleceń (najszybciej)

Ta metoda działa dla macOS, Linux i Windows 10+ (z użyciem OpenSSH). To najszybszy sposób na rozwiązanie błędu. Więcej informacji znajdziesz na stronie strona man ssh-keygen

  1. Otwórz terminal.
  2. Uruchom to polecenie (zastąp hostname adresem IP lub domeną serwera): 
ssh-keygen -R hostname
This command automatically finds the old key in your known_hosts file and deletes it.  Method 2: Manual File Editing (macOS)

Jeśli wolisz edytor graficzny, możesz usunąć klucz samodzielnie. Komunikat o błędzie zazwyczaj pokazuje dokładnie numer linii do usunięcia.

Otwórz terminal i edytuj plik za pomocą Nano:

nano ~/.ssh/known_hosts

Znajdź linię z Twojej wiadomości o błędzie. Usuń ją, a następnie naciśnij Ctrl + X i Y do zapisania.

Okno terminalu macOS pokazujące edytor tekstu nano otwartą plik known_hosts, wyróżniającą linię do usunięcia z numerowanymi krokami i wyświetlanymi instrukcjami zapisu.

Rozwiązanie dla Windows

Użytkownicy Windows zazwyczaj używają wbudowanego klienta OpenSSH lub PuTTY.

Opcja 1: Windows OpenSSH (Windows 10/11)

W Windows 10 i 11 OpenSSH jest funkcją opcjonalną. Dodaj ją poprzez Ustawienia > Aplikacje > Funkcje opcjonalne. Server 2025 zawiera klienta, ale musisz go włączyć.

Jeśli używasz PowerShell lub Command Prompt, ssh-keygen polecenie z Metody 1 działa też tutaj.

Aby zamiast tego edytować plik ręcznie:

  1. Naciśnij Klawisz Windows + R.
  2. Typ %USERPROFILE%\.ssh i naciśnij Enter.
  3. Otwórz known_hosts plikiem Notatnika.
  4. Usuń linię powodującą błąd i zapisz plik.

Aby prawidłowo zarządzać kluczami, zobacz nasz przewodnik na temat generowania kluczy SSH w Windows.

Opcja 2: Używanie PuTTY

PuTTY przechowuje klucze w rejestrze Windows zamiast w pliku.

  1. Otwórz Edytor rejestru (naciśnij Klawisz Windows + R, wpisz regediti naciśnij Enter).
  2. Przejdź do: HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys\
  3. Znajdź wpis odpowiadający nazwie hosta lub adresowi IP serwera.
  4. Kliknij prawym przyciskiem myszy i wybierz Usuń.

Windows Polecenie PowerShell usuwające klucz hosta SSH z Eksploratorem plików pokazującym zaktualizowany plik known_hosts oraz Edytorem rejestru PuTTY wyświetlającym okno dialogowe potwierdzenia usunięcia klucza hosta.

Rozwiązanie dla Linux

Trwałość ssh-keygen polecenie, które omówiliśmy w Metoda 1 to standardowy sposób rozwiązania tego problemu na Linux. Jest szybki i natywnie wspierany.

Edycja ręczna

Jeśli wolisz zobaczyć zawartość pliku, możesz go edytować za pomocą edytora tekstu takiego jak Nano.

  1. Otwórz terminal.
  2. Typ nano ~/.ssh/known_hosts i naciśnij Enter.
  3. Znajdź numer linii wskazany w Twojej wiadomości o błędzie.
  4. Usuń linię, a następnie naciśnij Ctrl + X i Y do zapisania.

Możesz też użyć Vim (vim ~/.ssh/known_hosts), jeśli się go znasz.

Linux Terminal pokazujący polecenia ssh-keygen do usuwania kluczy hosta SSH według nazwy hosta i adresu IP, wraz z potwierdzeniem sukcesu i przykładami pliku known_hosts.
Ostrzeżenie dotyczące wyłączenia kontroli

Możesz zmmusić SSH do połączenia bez weryfikacji, ale to jest ryzykowne. Omija ochronę przed atakami typu man-in-the-middle.

Używaj tego podejścia tylko do testów lokalnych w zaufanych sieciach. Dla macOS i Linux wpisz:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]

Jeśli jesteś na Windows, ścieżka Unix nie zadziała. Musisz użyć NUL aby obejście zadziałało:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL [email protected]

Nie uruchamiaj tych obejść na publicznych połączeniach ani na serwerach produkcyjnych.

Naprawianie niezgodności kluczy to rutynowa konserwacja, ale możesz zrobić więcej, aby zabezpieczyć swoje połączenie. Boty często atakują domyślny port 22 atakami brute-force. Możesz uniknąć większości tego szumu w tle, jeśli zmienisz porty SSH w Linux na coś mniej przewidywalnego.

Diagram ataku man-in-the-middle na SSH: atakujący przechwytuje połączenie między klientem a serwerem, klucz atakującego versus klucz serwera, wyróżnione kradzież danych i straty finansowe.

Nigdy nie używaj tej metody na serwerach produkcyjnych ani w sieciach niezaufanych.

Jak zapobiec wiadomości "Remote Host Identification Has Changed" następnym razem

Nie zawsze możesz zapobiec uprawnionym zmianom klucza hosta, ale możesz zminimalizować zakłócenia i utrzymać lepsze praktyki bezpieczeństwa.

Szybki przewodnik referencyjny

Twoja rola Kluczowe strategie
Administratorzy Systemu Twórz kopie zapasowe kluczy, dokumentuj zmiany, używaj certyfikatów i regularnie rotuj klucze
Zwykli Użytkownicy Prowadź rejestr, weryfikuj przez bezpieczne kanały i monitoruj logi
Środowisko Chmury 

Użytkownicy

Używaj nazw DNS, korzystaj z narzędzi dostawcy i wdrażaj infrastrukturę jako kod

Infografika pokazująca najlepsze praktyki zarządzania kluczami SSH: używaj certyfikatów SSH, nazwy DNS, Infrastructure as Code, twórz kopie zapasowe kluczy hosta, dokumentuj zmiany i rozważ hosty bastionu.

Dla administratorów systemów

Twórz kopie zapasowe kluczy hosta: Zapisz klucze z /etc/ssh/ przed przeinstalowaniem systemu operacyjnego. Przywróć je później, aby zapobiec ostrzeżeniom dla użytkowników.

Dokumentuj planowane zmiany: Powiadom użytkowników przed zmianą kluczy i udostępnij nowe odciski palców w bezpieczny sposób. To pozwoli im zweryfikować połączenie.

Używaj certyfikatów SSH: Duże zespoły powinny korzystać z centralnego urzędu certyfikacji. On podpisuje klucze hostów i eliminuje potrzebę ręcznej weryfikacji.

Wdrażaj rotację kluczy: Zaplanuj zmiany klucza hosta. Przewidywalne aktualizacje są łatwiejsze do obsługi dla Twojego zespołu niż nieoczekiwane.

Dla zwykłych użytkowników

Utrzymuj Zapasy: Prowadź osobisty rejestr odcisków palców serwera lub korzystaj z bezpiecznej dokumentacji Twojego zespołu.

Weryfikuj przez kanał niezależny: Sprawdzaj klucze wobec wiarygodnego źródła, takiego jak konsola chmury, nie na podstawie przypadkowych wiadomości.

Monitoruj Logi: Regularnie monitoruj lokalne logi SSH w poszukiwaniu dziwnych wzorców połączeń lub powtarzających się błędów.

Użyj zarządzania konfiguracją: Pliki konfiguracyjne SSH pozwalają obsługiwać dynamiczne środowiska deweloperskie bez obniżania bezpieczeństwa.

Do dynamicznych środowisk chmury

Użyj nazw DNS: Łącz się za pomocą nazw hostów zamiast adresów IP. Utrzymuje to spójność, gdy zmienia się adres podstawowy.

Wykorzystaj narzędzia chmury: Konsole dostawcy umożliwiają pobranie bieżących odcisków palców. Zweryfikuj klucze względem tych narzędzi, zanim zaakceptujesz zmiany.

Infrastruktura jako kod: Zautomatyzuj weryfikację kluczy za pomocą narzędzi takich jak Terraform. W zaawansowanych konfiguracjach możesz też używać proxy SSH SOCKS5.

Hosty Bastion: Skonfiguruj serwery pośrednie ze stabilnymi kluczami. Działają jako bezpieczne punkty wejścia do dynamicznej infrastruktury.

Wnioski

Ostrzeżenie "Zmiana identyfikacji zdalnego hosta" jest ważną funkcją bezpieczeństwa SSH, a nie wadą do ignorowania. Choć ostrzeżenie pojawia się często z uzasadnionych powodów, takich jak konserwacja serwera lub zmiany konfiguracji, odgrywa kluczową rolę w ochronie przed atakami man-in-the-middle i nieautoryzowanym dostępem.

Gdy zobaczysz to ostrzeżenie, zweryfikuj przyczynę przed kontynuacją. W większości przypadków rozwiązanie jest proste: usuń stary klucz hosta zgodnie z metodami dla Twojego systemu operacyjnego, a następnie zaakceptuj nowy klucz przy następnym połączeniu.

Ucząc się, jak działają klucze hosta SSH i stosując najlepsze praktyki, możesz utrzymać zarówno bezpieczeństwo, jak i wygodę w przepływach dostępu zdalnego. Więcej informacji na temat bezpiecznego transferu plików znajdziesz w kopiowanie plików przez SSH.

 

Często zadawane pytania

Czy powinienem traktować poważnie ostrzeżenie o zmianie identyfikacji zdalnego hosta?

Tak, traktuj to poważnie. Oznacza to zmianę tożsamości serwera, co może sygnalizować atak man-in-the-middle lub zwyczajną konserwację. Zawsze zweryfikuj zmianę u administratora lub dostawcy przed zaakceptowaniem nowego klucza, aby zapewnić bezpieczeństwo.

Co powoduje ostrzeżenie o zmianie identyfikacji zdalnego hosta?

Ostrzeżenie pojawia się, gdy bieżący odcisk palca serwera nie zgadza się z tym w pliku known_hosts. Typowe przyczyny to przeinstalacja systemu operacyjnego, ponowne przypisanie IP lub zresetowanie konfiguracji SSH. W rzadkich przypadkach wskazuje na aktywny atak man-in-the-middle.

Czy ten błąd może pojawić się na różnych systemach operacyjnych?

Tak, ostrzeżenie dotyczy wszystkich systemów operacyjnych używających SSH, w tym Windows, macOS i Linux. Wynika z weryfikacji bezpieczeństwa protokołu SSH. Choć metody naprawy różnią się między platformami, podstawowy mechanizm bezpieczeństwa pozostaje identyczny na każdym systemie.

Skąd wiem, czy zmiana klucza hosta jest wiarygodna czy to atak?

Aby potwierdzić wiarygodność, sprawdź niedawną konserwację, aktualizacje systemu lub zmiany IP. Musisz zweryfikować nowy odcisk palca wobec wiarygodnego źródła, takiego jak konsola dostawcy chmury lub potwierdzenie od administratora, przed nawiązaniem połączenia.

Czy wyłączenie weryfikacji klucza hosta sprawi, że SSH będzie wygodniejszy?

Dodaje wygodę, ale usuwa bezpieczeństwo. Wyłączenie weryfikacji eliminuje ochronę przed atakami man-in-the-middle, pozostawiając połączenia narażone. Powinieneś używać tego ustawienia wyłącznie w izolowanych środowiskach testowych, nigdy na serwerach produkcyjnych lub sieciach publicznych zawierających wrażliwe dane.

Jak Often Should SSH Host Keys Be Changed?

Host keys na ogół nie wymagają regularnej rotacji. Zmień je zwykle tylko po przebudowie serwera, reinstalacji systemu operacyjnego lub włamania. Częste zmiany utrudniają użytkownikom pracę, dlatego stawiaj na stabilność i jasną komunikację, gdy aktualizacje są konieczne.

Udostępnij

Więcej z bloga

Czytaj dalej.

Grafika tytułowa Cloudzy do przewodnika po MikroTik L2TP VPN, przedstawiająca laptopa łączącego się z szafą serwerową przez świecący niebiesko-złoty cyfrowy tunel z ikonami tarczy.
Bezpieczeństwo i Sieć

Konfiguracja MikroTik L2TP VPN (z IPsec): przewodnik po RouterOS (2026)

W tej konfiguracji MikroTik L2TP VPN protokół L2TP odpowiada za tunelowanie, a IPsec za szyfrowanie i integralność. Ich połączenie zapewnia natywną zgodność z klientami bez konieczności stosowania rozwiązań innych firm.

Rexa CyrusRexa Cyrus 9 minut czytania
Ilustracja do przewodnika po rozwiązywaniu problemów z serwerem DNS, z symbolami ostrzeżeń i niebieskim serwerem na ciemnym tle, dotycząca błędów rozpoznawania nazw Linux
Bezpieczeństwo i Sieć

Tymczasowy błąd rozpoznawania nazw: Co oznacza i jak go naprawić?

Podczas korzystania z Linux możesz napotkać błąd tymczasowego rozpoznawania nazw przy próbie dostępu do stron internetowych, aktualizacji pakietów lub wykonywania zadań wymagających połączenia z internetem.

Rexa CyrusRexa Cyrus 12 minut czytania
Jak przekierować domenę na VPS: krótki poradnik
Bezpieczeństwo i Sieć

Jak przekierować domenę na VPS: krótki poradnik

Wskazanie domeny na serwer VPS jest niezbędne do hostowania stron internetowych i aplikacji. Ten przewodnik zawiera wszystko, co musisz wiedzieć o połączeniu domeny z Twoim

Rexa CyrusRexa Cyrus Czytanie w 16 minut

Gotowy do wdrożenia? Od 2,48 USD/miesiąc.

Niezależna chmura od 2008 roku. AMD EPYC, NVMe, 40 Gbps. Zwrot pieniędzy w ciągu 14 dni.