GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

Co se stane na pozadí, když se poprvé připojíte k serveru pomocí ssh

Když se připojujete k serveru poprvé, server vás vyzve k potvrzení, že jste připojeni ke správnému systému. Následující příklad používá příkaz ssh pro připojení ke vzdálenému hostiteli s názvem host03:

# ssh host03
The authenticity of host 'host03 (192.0.2.103)' can’t be
established. ECDSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host03,192.0.2.103' (ECDSA) to the list of known hosts.

Ověření hostitele je jednou z hlavních funkcí OpenSSH. Příkaz zkontroluje, zda se připojujete k hostiteli, o kterém si myslíte, že se připojujete. Když zadáte yes, klient připojí veřejný hostitelský klíč serveru k souboru ~/.ssh/known_hosts uživatele a v případě potřeby vytvoří adresář ~/.ssh. Při příštím připojení ke vzdálenému serveru klient porovná tento klíč s klíčem, který server dodal. Pokud se klíče shodují, nebudete dotázáni, zda chcete pokračovat v připojení.

Co způsobuje chybu ověření klíče hostitele

Pokud se vás někdo pokusí oklamat, abyste se přihlásili do svého počítače, aby mohl vyčuhovat vaši relaci SSH, obdržíte varování podobné následujícímu:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:cf:50:31:7a:78:93:13:dd:99:67:c2:a2:19:22:13.
Please contact your system administrator.
Add correct host key in /home/user01/.ssh/known_hosts to get rid of this message.
Offending key in /home/lcz/.ssh/known_hosts:7
RSA host key for 192.168.219.149 has changed and you have requested strict checking.
Host key verification failed.

Pokud se někdy zobrazí takové varování, zastavte se a zjistěte, zda existuje důvod ke změně klíče hostitele vzdáleného serveru (například pokud byl upgradován SSH nebo byl upgradován samotný server). Pokud neexistuje dobrý důvod pro změnu hostitelského klíče, nepokoušejte se připojit k tomuto počítači, dokud situaci nevyřešíte.

Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

Metoda 1 – ruční odstranění starého klíče

1. Na zdrojovém serveru jsou staré klíče uloženy v souboru ~/.ssh/known_hosts .

2. Pouze v případě, že je tato událost legitimní a pouze v případě, že je přesně známo, proč server SSH uvádí jiný klíč, upravte soubor známí_hostitelé a odstraňte již neplatný záznam klíče. Každý uživatel na klientském/zdrojovém serveru má ve svém domovském adresáři své vlastní známé_hostitele, stačí odstranit položku v souboru konkrétního uživatele pro cílový server. Například:
– Pokud chce root použít ssh na server, stačí odstranit záznam v /root/.ssh/known_hosts soubor je v pořádku.
– Pokud chce testuser ssh na server, odstraňte záznam v souboru /home/testuser/.ssh/known_hosts .

3. V mém případě odeberu klíč (zvýrazněný červeně) pro cílový server 192.168.219.149 ze souboru /home/user01/.ssh/known_hosts.

# vim /home/user01/.ssh/known_hosts
172.104.9.113 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLrY91bQOihgFZQ2Ay9KiBG0rg51/YxJAK7dvAIopRaWzFEEis3fQJiYZNLzLgQtlz6pIe2tj9m/Za33W6WirN8=
192.168.219.148 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=
192.168.219.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCrY/m16MdFt/Ym51Cc7kxZW3R2pcHV1jlOclv6sXix1UhMuPdtoboj+b7+NLlTcjfrUccL+1bkg8EblYucymeU=

Metoda 2 – odstranění starého klíče pomocí příkazu ssh-keygen

Starý klíč můžete také odstranit pomocí příkazu ssh-keygen. Syntaxe pro použití příkazu je uvedena níže.

$ ssh-keygen -R [hostname|IP address]

Například V našem případě použijeme IP adresu k odstranění starého klíče.

$ ssh-keygen -R 192.168.219.149
# Host 192.168.219.149 found: line 3
/home/user01/.ssh/known_hosts updated.
Original contents retained as /home/user01/.ssh/known_hosts.old
Poznámka :Pokud přesně nevíte, proč server SSH uvádí jiný klíč, buď je váš souborknown_hosts nesprávný, nebo musí někdo prozkoumat tento server a síťová připojení, aby pochopil důvod neočekávané změny.

Ověřit

Pokud vzdálené servery požádají o potvrzení přidání nového klíče do souboru ~/.ssh/known_host, potvrdí, že jste úspěšně odstranili starý klíč. Pokud požadavek potvrdíte, zdrojový počítač přidá nový klíč do souboru ~/.ssh/known_host.

$ ssh [email protected]
The authenticity of host '192.168.219.149 (192.168.219.149)' can't be established.
ECDSA key fingerprint is SHA256:V+iGp3gwSlnpbtYv4Niq6tcMMSZivSnYWQIaJnUvHb4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.219.149' (ECDSA) to the list of known hosts.


Linux
  1. Jak opravit chybu Cron Authentication Failure v Linuxu?

  2. Jak opravit chybu – ModSecurity:Přístup odepřen s kódem 44 [Apache]

  3. Jak získat klíč USB k automatickému připojení?

  1. Jak opravit chybu „Načítání klíče GPG se nezdařilo“ během instalace YUM?

  2. Jak opravit chybu OpenStack – nepodařilo se odstranit síť? [vyřešeno]

  3. Jak opravit chybu Metasploit – vyžaduje instalaci drahokamu bundler? [vyřešeno]

  1. Ověření podpisu na veřejném klíči SPKAC se nezdařilo – Oprava chyby OpenCA

  2. Jak opravit - Chyba Apache:Žádný odpovídající DirectoryIndex?

  3. Jak opravit chybu GPG No Public Key NO_PUBKEY během aktualizace apt-get