Dnes jsem se pokusil připojit SSH do svého vzdáleného serveru Ubuntu 20.04 LTS a narazil jsem na tuto zprávu - VAROVÁNÍ:IDENTIFIKACE VZDÁLENÉHO HOSTITELE SE ZMĚNILA! .
$ ssh [email protected]
Ukázkový výstup:
@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 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 ECDSA key sent by the remote host is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Please contact your system administrator. Add correct host key in /home/sk/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/sk/.ssh/known_hosts:11 remove with: ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52" ECDSA host key for 192.168.225.52 has changed and you have requested strict checking. Host key verification failed.
Chyba – VAROVÁNÍ VZDÁLENÁ IDENTIFIKACE HOSTITELE SE ZMĚNIL
Toto ve skutečnosti není chybová zpráva. Je to pouze bezpečnostní upozornění, které indikuje, že hostitelský klíč ECDSA pro daný vzdálený systém se od vašeho posledního připojení změnil. Jak už možná víte, když poprvé přistupujeme ke vzdálenému systému z místního systému přes SSH, otisk klíče ECDSA odeslaný tímto vzdáleným hostitelem je uložen do mezipaměti a uložen v $HOME/.ssh/known_hosts
soubor v našem místním systému.
Když se identita (otisk prstu) změní poté, co jste přeinstalovali vzdálený systém nebo přiřadili stejnou IP adresu pro více vzdálených systémů, zobrazí se výše uvedená varovná zpráva.
Oprava chyby „UPOZORNĚNÍ:VZDÁLENÁ IDENTIFIKACE hostitele se změnila“ v systému Linux
Chcete-li tento problém vyřešit, jednoduše odstraňte klíč uložený v mezipaměti pro adresu IP v místním systému pomocí příkazu:
$ ssh-keygen -R 192.168.225.52
Ukázkový výstup:
# Host 192.168.225.52 found: line 11 /home/sk/.ssh/known_hosts updated. Original contents retained as /home/sk/.ssh/known_hosts.old
Oprava chyby „UPOZORNĚNÍ:VZDÁLENÁ IDENTIFIKACE hostitele se změnila“ v systému Linux
Můžete také explicitně zadat cestu k souboruknown_hosts pomocí -f příznak jako níže.
$ ssh-keygen -f "/home/sk/.ssh/known_hosts" -R "192.168.225.52"
Výše uvedený příkaz odstraní všechny klíče patřící vzdálenému hostiteli z known_hosts
soubor místního systému. A také starý obsah known_hosts
soubor bude uchován v souboru s názvem "known_hosts.old
".
Pokud používáte jiný port SSH, musíte to výslovně uvést jako níže:
$ ssh-keygen -R 192.168.225.52:1234
Zde je 1234 číslo portu SSH. Nahraďte jej skutečným číslem portu SSH.
Po odebrání klíčů zkuste znovu SSH do vzdáleného systému pomocí příkazu:
$ ssh [email protected]
Napište „yes“ a stiskněte ENTER pro přidání klíče vzdáleného hostitele do vašeho místního systému:
The authenticity of host '192.168.225.52 (192.168.225.52)' can't be established. ECDSA key fingerprint is SHA256:K/jEKNQCYYOilJxOZc7qAWlu4xu0nW+MD09DfJL7+gc. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.225.52' (ECDSA) to the list of known hosts. [email protected]'s password:
Nyní můžete přistupovat ke vzdálenému systému přes SSH.