SSH je zkratka pro „Secure Shell“ a je to šifrovaný protokol používaný k přihlášení a správě vzdáleného serveru. SSH také podporuje různé autentizační mechanismy. SSH používá ověřování na základě hesla a ověřování na základě veřejného klíče pro zabezpečené spojení mezi klientem a serverem. Autentizace založená na klíči SSH je bezpečnější než autentizace založená na hesle, protože klíče je velmi těžké uhodnout nebo prolomit pomocí aktuálně dostupného výpočetního výkonu.
V tomto tutoriálu vám ukážeme, jak nastavit ověřování pomocí klíče SSH na serveru Ubuntu 18.04.
Předpoklady
- Dvě nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
- Hesla root nakonfigurovaná na obou serverech.
Krok 1 – Vytvoření cloudového serveru Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -yapt-get upgrade -y
Krok 2 – Vygenerujte klíč SSH na klientském počítači
Nejprve se přihlaste ke svému klientskému počítači a vygenerujte nový pár klíčů SSH spuštěním následujícího příkazu:
ssh-keygen -t rsa
Budete muset stisknout Enter přijmout výchozí umístění souboru a poskytnout přístupovou frázi pro přidání další vrstvy zabezpečení, jak je znázorněno níže:
Generování veřejného/soukromého páru klíčů rsa.Zadejte soubor, do kterého se má klíč uložit (/root/.ssh/id_rsa):Zadejte přístupové heslo (prázdné pro žádné přístupové heslo):Znovu zadejte stejné přístupové heslo:Vaše identifikace byla uložena do / root/.ssh/id_rsa.Váš veřejný klíč byl uložen do /root/.ssh/id_rsa.pub. Otisk klíče je:cd:58:c4:35:60:6f:a4:2e:f0:b7:42 :c5:20:78:86:b2 [email protected]áhodný obrázek klíče je:+--[ RSA 2048]----+| Ó. ..+o+ || . o o. =.+ . || o o. =o || E o B . || S = || . o . || . . || . || |+-----------------+
Výše uvedený příkaz vygeneruje 2048bitový pár klíčů RSA se zabezpečenou přístupovou frází, která zabrání neoprávněným uživatelům přihlásit se.
Vygenerované veřejné a soukromé klíče můžete zobrazit pomocí následujícího příkazu:
ls -l .ssh/id_rsa*
Měli byste vidět následující výstup:
-rw------- 1 kořenový kořenový adresář 1766 1. listopadu 1 11:03 .ssh/id_rsa-rw-r--r-- 1 kořenový adresář 401 1. listopadu 11:03 .ssh/id_rsa.pubV tomto okamžiku máte veřejné a soukromé klíče, které můžete použít k ověření se svým serverem Ubuntu.
Krok 3 – Zkopírujte veřejný klíč na server Ubuntu
Dále budete muset zkopírovat veřejný klíč z klientského počítače na váš server Ubuntu 18.04. Veřejný klíč můžete zkopírovat pomocí nástroje ssh-copy-id, jak je znázorněno níže:
ssh-copy-id [email protected]Měli byste vidět následující výstup:
Autentičnost hostitele „192.168.0.102 (192.168.0.102)“ nelze zjistit. Otisk klíče ECDSA je f7:9c:72:63:33:ac:d6:49:26:9c:af:c6 :ff:11:27:01.Opravdu chcete pokračovat v připojení (ano/ne)? anoZadejte „ano “ a stiskněte ENTER pokračovat. Měli byste vidět následující výstup:
/usr/bin/ssh-copy-id:INFO:pokus o přihlášení pomocí nového klíče (klíčů), pro odfiltrování všech, které jsou již nainstalovány/usr/bin/ssh-copy-id:INFO:1 zbývá nainstalovat klíč (klíče) -- pokud se nyní zobrazí výzva, je třeba nainstalovat nové heslo pro [email protected]:Dále budete vyzváni k zadání vzdáleného uživatelského jména a hesla. Po úspěšné autentizaci bude obsah veřejného klíče ~/.ssh/id_rsa.pub připojen k souboru ~/.ssh/authorized_keys vzdáleného uživatele, jak je znázorněno níže:
Počet přidaných klíčů:1Nyní se zkuste přihlásit do počítače pomocí: "ssh '[email protected]'"a zkontrolujte, zda byly přidány pouze klíče, které jste chtěli.Krok 4 – Zakažte ověřování pomocí hesla SSH
Dále se přihlaste ke svému serveru Ubuntu 18.04 a deaktivujte ověřování založené na hesle SSH, abyste svému serveru přidali další vrstvu zabezpečení.
Autentizaci na základě hesla můžete zakázat úpravou souboru /etc/ssh/sshd_config:
nano /etc/ssh/sshd_configNajděte následující řádky a změňte hodnotu na „no“:
Ověření heslem noChallengeResponseAuthentication noUsePAM noUložte a zavřete soubor, poté restartujte službu SSH, abyste použili konfiguraci:
systemctl restart sshKrok 5 – Přihlaste se k serveru pomocí klíčů SSH
V tomto okamžiku je nakonfigurováno ověřování založené na klíči SSH. Nyní je čas přihlásit se k serveru Ubuntu 18.04 pomocí veřejného klíče.
Ke svému serveru Ubuntu 18.04 se můžete přihlásit jednoduše spuštěním následujícího příkazu:
ssh [email protected]Pokud se přihlašujete poprvé, budete vyzváni, jak je uvedeno níže:
Autentičnost hostitele „192.168.0.102 (192.168.0.102)“ nelze zjistit. Otisk klíče ECDSA je f7:9c:72:63:33:ac:d6:49:26:9c:af:c6 :ff:11:27:01.Opravdu chcete pokračovat v připojení (ano/ne)? anoZadejte Ano a stiskněte Enter klíč pro pokračování. Dále budete vyzváni k zadání přístupové fráze pro váš soukromý klíč, jak je uvedeno níže:
Zadejte přístupové heslo pro klíč '/root/.ssh/id_rsa':Zadejte svou přístupovou frázi soukromého klíče a stiskněte Enter pro přihlášení na váš server.
Závěr
Ve výše uvedeném tutoriálu jsme se naučili, jak nastavit ověřování založené na klíči SSH s přístupovou frází na Ubuntu 18.04. Spojení mezi vaším klientským počítačem a serverem Ubuntu 18.04 je nyní vysoce zabezpečené. Stejný klíč můžete použít také pro jiný vzdálený server. Pokud jste připraveni začít s ověřováním pomocí klíče SSH, vyzkoušejte hostování VPS s Atlantic.Net ještě dnes.
Zabezpečení vašeho webového serveru Apache pomocí zabezpečení Mod Jak nainstalovat a nakonfigurovat ModEvasive s Apache na Ubuntu 18.04Linux