Secure Shell (SSH) používá otisk prstu generované pomocí jedinečného klíče hostitele serveru, aby klient mohl server identifikovat. Kdykoli se změní otisk hostitele, SSH vydá následující varování:Otisk hostitele nelze ověřit nebo se změnil .
Při konfiguraci serveru SSH se hostitelský klíč generuje náhodně. Klíč hostitele identifikuje server, ke kterému se připojujete, a je zásadní pro zabezpečení, které SSH poskytuje. Pokud někdo nastaví program k zachycení připojení a ukradne přihlašovací údaje (muž uprostřed útok), klient SSH poskytne pouzeklíč hostitele se změnil varování.
Proč se klíč hostitele může změnit
Vysvětlení pro změněný klíč hostitele zahrnuje:
- Překompilování nebo upgrade SSH.
- Přestavba serveru.
- Použití jiné adresy pro stejného hostitele.
Poznámka: Když váš systém uloží hostitelský klíč, zaznamená jej podle adresy, takže i když je localhost a 127.0.0.1 ukazují na stejný server, klient SSH předpokládá, že jde o jiný záznam.
Nezavrhujte však možnost man-in-the-middle útoku a zkontrolujte otisk hostitele pomocí webové konzole serveru bez použití připojení SSH.
Upozornění:Identifikace vzdáleného hostitele se změnila
Zvažte tuto chybovou zprávu:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/demo/.ssh/known_hosts to get rid of this message.
Offending key in /home/demo/.ssh/known_hosts:15
RSA host key for 1.2.3.4 has changed and you have requested strict checking.
Host key verification failed.
Upozornění znamená následující:Otisk, který identifikuje SSHserver, se liší od posledního připojení k němu.
Zkontrolujte otisk SSH vašeho serveru
Měli byste zapsat otisk SSH serveru do souboru, abyste měli jistotu, že se připojujete ke správnému serveru, zvláště když se připojujete z více strojů nebo neznámých počítačů, jako je desktop nebo server z klienta.
Pokud nemáte otisk hostitele, můžete použít webovou konzoli v ovládacím panelu Cloud.
Webová konzole vám umožňuje připojit se k vašemu serveru, jako byste se připojovali ze sériové konzole. Něco, co vám brání v připojení pomocí SSH, neruší připojení sériové konzoly. Pokud potřebujete pomoc s otevřením webové konzoly, přečtěte si tento článek o relaci konzoly.
Pokud nemáte uživatelské jméno a heslo, které byste mohli použít (pokud jste například deaktivovali hesla pro všechny účty), můžete použít Cloud Control Panel resetovat heslo root serveru. Poté se můžete přihlásit pomocí nových přihlašovacích údajů.
Použít ssh-keygen
Po přihlášení k serveru můžete získat otisk klíče hostitele. Spusťte následující ssh-keygen
příkaz proti veřejnému klíči serveru:
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
-l
volba uvádí otisk prstu a -f /etc/ssh/ssh_host_rsa_key.pub
optionudává umístění souboru veřejného klíče hostitele. Toto umístění je výchozí pro servery Linux®, ale možná ho budete muset najít v jiném umístění.
Výstup je podobný otisku vašeho klienta SSH, jak ukazuje následující příklad:
2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /etc/ssh/ssh_host_rsa_key.pub (RSA)
První číslo udává sílu klíče (v tomto případě 2048 bitů). Následuje otisk prstu spolu s umístěním klíče a typem klíče (obvykle RSA).
Připojení k localhost pomocí SSH
Dalším způsobem, jak získat veřejný klíč, je připojit se k SSH serveru pomocí SSHclient ze serveru. Přihlaste se do webové konzole a poté použijte ssh
příkaz:
ssh localhost
Pokud se pomocí SSH připojujete k localhostu poprvé, zobrazí se varování. Varování zobrazuje otisk klíče RSA:
The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
Pokud se k localhost nepřipojujete poprvé, vymažte uložený klíč pomocí následujících kroků:
-
Přejděte na .ssh adresář ve vašem účtu:
cd ~/.ssh
-
Upravte known_hosts soubor, smažete řádek, který začíná localhost .
-
Uložte soubor.
Zkuste připojení znovu. Tentokrát byste měli vidět otisk prstu.
Poznámka :Zapište si otisk prstu, abyste si jej mohli uložit, a použijte jej pro zbytek tohoto článku.
Dokončete připojení
Porovnejte získaný otisk s otiskem zobrazeným při vzdáleném připojení k serveru. Pokud jsou stejné, je připojení platné. Pokud ne, odpojte se od sítě a zkuste se připojit z jiného místa. Pokud se stále liší, kontaktujte podporu.
Klíč hostitele se změnil
Pokud získáte otisk prstu neodpovídá tomu, co klient očekával varování, použijte následující pokyny k úpravě seznamu známých hostitelů v klientském počítači před připojením k serveru.
Linux a macOS X
V systémech Linux, macOS® X a dalších operačních systémech založených na Unixu používáte ssh
příkaz pro připojení k serveru přes SSH. ~/.ssh/known_hosts
obsahuje známé hostitelské klíče SSH.
Může se zobrazit known_hosts2 soubor namísto známých_hostitelů nebo vedle nich . Pokud existují oba soubory, pak systém používá známí_hostitelé2 když vytvoříte spojení.
Po identifikaci souboru proveďte následující kroky:
-
Otevřete soubor.
-
Najděte řádek, který začíná adresou IP nebo názvem domény serveru. Záznam pro adresu IP 1.2.3.4 se zobrazí jako v následujícím příkladu:
1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
-
Smažte řádek.
-
Uložte soubor.
Až se příště připojíte, před dokončením připojení zkontrolujte otisk hostitele.
Windows a PuTTY
U serverů Windows® zvažte použití PuTTY®. Pokud používáte jiný program, podívejte se do uživatelské dokumentace, kde klient ukládá své známé hostitelské klíče.
Poznámka: K úpravě registru potřebujete administrátorská práva na klientském počítači.
Poznámka: Upravujte registr opatrně.
PuTTY ukládá své hostitelské klíče v registru Windows. Chcete-li najít známé klíče hostitele, proveďte následující kroky:
-
Přejděte do Windows a zadejte
regedit
ve Vyhledávání nebo Spustit box. -
Systém Windows uspořádá registr jako hierarchii složek, takže vyhledejte následující složku:
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
-
Ve složce najděte jednu nebo více položek s IP adresou serveru, ke kterému se připojujete. Následující příklad ukazuje šifrovaný klíč RSA verze 2 na portu 22, IP adresa 1.2.3.4 :
rsa2@22:1.2.3.4
-
Klikněte na záznam pravým tlačítkem a vyberte možnost Odstranit z kontextové nabídky. Poté, co získáteÚprava registru může způsobit problémy varování, potvrďte akci.
-
Ukončete editor registru.
Když se pokusíte o připojení SSH, měli byste dostat Klíč hostitele serveru je neznámý varování spolu s otiskem prstu. Než přijmete připojení, ujistěte se, že se tento otisk a otisk získaný z webové konzole shodují.
Přehled
Tento článek popisuje, jak získat otisk klíče hostitele serveru. Zvažte uložení otisků hostitelských klíčů serverů, ke kterým se připojujete, na bezpečném místě. Na tyto klíče se můžete odkázat kdykoli, když potřebujete vyloučit man-in-the-middle útok, zejména při použití více klientů. Další informace naleznete v části Základy zabezpečení v systému Linux.
Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.