Berte kybernetickou bezpečnost vážně a používejte klíče SSH pro přístup ke vzdáleným přihlášením. Jsou bezpečnějším způsobem připojení než hesla. Ukážeme vám, jak generovat, instalovat a používat klíče SSH v systému Linux.
Co je špatného na heslech?
Secure shell (SSH) je šifrovaný protokol používaný k přihlášení k uživatelským účtům ve vzdáleném systému Linux nebo Unixový počítače. Typicky jsou tyto uživatelské účty zabezpečeny pomocí hesel. Při přihlášení ke vzdálenému počítači musíte zadat uživatelské jméno a heslo pro účet, ke kterému se přihlašujete.
Hesla jsou nejběžnějším způsobem zabezpečení přístupu k výpočetním prostředkům. Navzdory tomu má zabezpečení založené na heslech své chyby. Lidé volí slabá hesla, sdílejí hesla, používají stejné heslo na více systémech atd.
Klíče SSH jsou mnohem bezpečnější a po jejich nastavení se stejně snadno používají jako hesla.
Co dělá klíče SSH bezpečnými?
Klíče SSH se vytvářejí a používají ve dvojicích. Tyto dva klíče jsou propojené a kryptograficky zabezpečené. Jeden je váš veřejný klíč a druhý je váš soukromý klíč. Jsou vázány na váš uživatelský účet. Pokud více uživatelů v jednom počítači používá klíče SSH, obdrží každý svůj vlastní pár klíčů.
Váš soukromý klíč je nainstalován ve vaší domovské složce (obvykle) a veřejný klíč je nainstalován na vzdáleném počítači - nebo počítačích - ke kterým budete potřebovat přístup.
Váš soukromý klíč musí být v bezpečí. Pokud je přístupný ostatním, jste na stejné pozici, jako kdyby zjistili vaše heslo. Rozumným - a vysoce doporučeným - opatřením je, aby byl váš soukromý klíč v počítači šifrován pomocí robustního nástroje přístupová fráze .
Veřejný klíč lze svobodně sdílet bez jakéhokoli ohrožení bezpečnosti. Z kontroly veřejného klíče není možné určit, co je soukromý klíč. Soukromý klíč může šifrovat zprávy, které může dešifrovat pouze soukromý klíč.
Když zadáte požadavek na připojení, vzdálený počítač použije svou kopii veřejného klíče k vytvoření šifrované zprávy. Zpráva obsahuje ID relace a další metadata. Tuto zprávu může dešifrovat pouze počítač, který vlastní soukromý klíč - váš počítač.
Váš počítač přistupuje k vašemu soukromému klíči a dešifruje zprávu. Poté odešle vlastní zašifrovanou zprávu zpět do vzdáleného počítače. Tato šifrovaná zpráva mimo jiné obsahuje ID relace, které bylo přijato ze vzdáleného počítače.
Vzdálený počítač nyní ví, že musíte být tím, kým říkáte, že jste, protože pouze váš soukromý klíč mohl extrahovat ID relace ze zprávy, kterou poslal do vašeho počítače.
Ujistěte se, že máte přístup ke vzdálenému počítači
Ujistěte se, že můžete vzdáleně se připojit ke vzdálenému počítači a přihlásit se k němu . To dokazuje, že vaše uživatelské jméno a heslo má ve vzdáleném počítači nastavený platný účet a že vaše pověření jsou správná.
Nepokoušejte se dělat cokoli s klíči SSH, dokud neověříte, že se můžete pomocí SSH s hesly připojit k cílovému počítači.
V tomto příkladu volá osoba s uživatelským účtem
Dave
je přihlášen k počítači s názvem
howtogeek
. Chystají se připojit k jinému počítači s názvem
Sulaco
.
Zadají následující příkaz:
ssh dave @ sulaco
Jsou požádáni o heslo, zadají ho a jsou spojeni se Sulaco. Jejich příkazový řádek se změní, aby to potvrdil.
To je vše, co potřebujeme. Takže uživatel
Dave
se může odpojit od
Sulaco
s
výstup
příkaz:
výstup
Obdrží zprávu o odpojení a jejich příkazový řádek se vrátí na
dave @ howtogeek
.
PŘÍBUZNÝ: Jak se připojit k serveru SSH ze systému Windows, macOS nebo Linux
Vytvoření páru klíčů SSH
Tyto pokyny byly testovány na distribucích Linux, Ubuntu, Fedora a Manjaro. Ve všech případech byl postup identický a nebylo třeba instalovat žádný nový software na žádný z testovacích strojů.
Chcete-li vygenerovat klíče SSH, zadejte následující příkaz:
ssh-keygen
Spustí se proces generování. Budete dotázáni, kam chcete uložit své klíče SSH. Stisknutím klávesy Enter přijměte výchozí umístění. Oprávnění ke složce ji zajistí pouze pro vaše použití.
Nyní budete požádáni o přístupovou frázi. Důrazně doporučujeme, abyste zde zadali přístupovou frázi. A pamatujte, co to je! Stisknutím klávesy Enter nemáte přístupovou frázi, ale to není dobrý nápad. Přístupová fráze složená ze tří nebo čtyř nespojených slov, spojená dohromady, vytvoří velmi robustní přístupovou frázi.
Budete požádáni o zadání stejné přístupové fráze ještě jednou, abyste ověřili, že jste zadali to, co jste si mysleli, že jste zadali.
Klíče SSH se generují a ukládají za vás.
Zobrazený „randomart“ můžete ignorovat. Některé vzdálené počítače vám mohou při každém připojení ukázat své náhodné umění. Myšlenka je, že poznáte, zda se náhodné umění změní, a budete podezřelí z připojení, protože to znamená, že klíče SSH pro tento server byly změněny.
Instalace veřejného klíče
Musíme nainstalovat váš veřejný klíč
Sulaco
, vzdálený počítač, aby věděl, že veřejný klíč patří vám.
Děláme to pomocí
ssh-copy-id
příkaz. Tento příkaz vytvoří připojení ke vzdálenému počítači jako běžné
ssh
příkaz, ale místo toho, abyste se mohli přihlásit, přenese veřejný klíč SSH.
ssh-copy-id dave @ sulaco
I když se nepřihlašujete ke vzdálenému počítači, musíte se stále autentizovat pomocí hesla. Vzdálený počítač musí identifikovat, ke kterému uživatelskému účtu nový klíč SSH patří.
Heslo, které zde musíte zadat, je heslo k uživatelskému účtu, ke kterému se přihlašujete. Tohle je ne heslo, které jste právě vytvořili.
Po ověření hesla
ssh-copy-id
přenese váš veřejný klíč do vzdáleného počítače.
Vrátíte se na příkazový řádek počítače. Nejste připojeni ke vzdálenému počítači.
Připojení pomocí klíčů SSH
Postupujme podle návrhu a pokusme se připojit ke vzdálenému počítači.
ssh dave @ sulaco
Protože proces připojení bude vyžadovat přístup k vašemu soukromému klíči a protože jste své klíče SSH zabezpečili za přístupovou frázi, budete muset zadat svou přístupovou frázi, aby mohlo připojení pokračovat.
Zadejte přístupovou frázi a klikněte na tlačítko Odemknout.
Jakmile zadáte přístupovou frázi v relaci terminálu, nebudete ji muset zadávat znovu, dokud budete mít otevřené okno terminálu. Můžete se připojit a odpojit od tolika vzdálených relací, kolik chcete, aniž byste museli znovu zadávat přístupovou frázi.
Můžete zaškrtnout políčko „Automaticky odemknout tento klíč, kdykoli jsem přihlášen“, ale sníží se vaše bezpečnost. Pokud necháte počítač bez dozoru, může se kdokoli připojit ke vzdáleným počítačům, které mají váš veřejný klíč.
Jakmile zadáte přístupovou frázi, jste připojeni ke vzdálenému počítači.
Chcete-li proces ještě jednou ověřit, odpojte se od sítě
výstup
příkaz a znovu se připojte ke vzdálenému počítači ze stejného okna terminálu.
ssh dave @ sulaco
Budete připojeni ke vzdálenému počítači bez potřeby hesla nebo přístupové fráze.
Žádná hesla, ale vylepšené zabezpečení
Odborníci na kybernetickou bezpečnost hovoří o věci zvané bezpečnostní tření. To je ta menší bolest, kterou musíte zvládnout, abyste získali další bezpečnost. K přijetí bezpečnější metody práce je obvykle zapotřebí ještě jeden nebo dva kroky. A většina lidí to nemá ráda. Ve skutečnosti dávají přednost nižší bezpečnosti a nedostatečnému tření. To je lidská přirozenost.
S klíči SSH získáte vyšší zabezpečení a zvýšení pohodlí. To je definitivní win-win.