Przejdź do treści głównej
50% zniżki wszystkie plany, oferta limitowana. Od $2.48/mo
10 min left
Bezpieczeństwo i sieci

Ostrzeżenie: Identyfikacja zdalnego hosta uległa zmianie i jak to naprawić

Rexa Cyrus Autor: Rexa Cyrus 10 min czytania Zaktualizowano Mar 12, 2026
Terminal window displaying SSH warning message about remote host identification change, with Fix Guide title and Cloudzy branding on dark teal background.

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.

Infographic showing server changes that modify SSH host keys, including OS upgrades, server rebuilds, backup restoration, physical to virtual migration, and SSH configuration resets.
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

Network diagram showing a DHCP server assigning dynamic IP addresses to virtual machines, with server decommissioning and reissuing causing SSH host key conflicts.

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


Split screen comparing legitimate SSH changes shown in green with security threat scenarios in red, featuring a hooded figure representing man-in-the-middle attacks.
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

Przed przystąpieniem do naprawy problemu wykonaj te kroki weryfikacji:

Flowchart showing five verification methods for confirming legitimate SSH host key changes, including team consultation, hosting provider contact, secure channels, and fingerprint comparison.

  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 z dedykowanymi statycznymi IP. Działasz na procesorach AMD Ryzen 9 z pamięcią NVMe dla natychmiastowego wykonywania komend. Nasza sieć osiąga 40 Gbps w 13 regionach. Dodatkowo dołączamy darmową ochronę DDoS, by Twoje połączenie było bezpieczne.

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 oraz Y do zapisania.

macOS terminal window showing nano text editor open with known_hosts file, highlighting line to delete with numbered steps and save instructions displayed.

Rozwiązanie dla Windowsa

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, a nie 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 PowerShell command removing SSH host key with File Explorer showing updated known_hosts file, and PuTTY Registry Editor displaying delete confirmation dialog for host key.

Rozwiązanie dla Linuksa

Aktualne 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 oraz Y do zapisania.

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

Linux terminal showing ssh-keygen commands to remove SSH host keys by hostname and IP address, with success confirmation and known_hosts file examples.
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 nadpisań na publicznych połączeniach lub serwerach live.

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 of a man-in-the-middle attack on SSH: attacker intercepting client-server connection, attacker key vs server key, data theft and financial loss highlighted.

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

Infographic showing SSH key management best practices: use SSH certificates, DNS names, Infrastructure as Code, back up host keys, document changes, and consider bastion hosts.

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.

Podsumowanie

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 Remote Host Identification Has Changed?

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 mam wiedzieć, czy zmiana klucza hosta jest legalna, 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.

Share

Więcej z bloga

Czytaj dalej.

Gotowy do wdrożenia? Od $2,48/mies.

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