Jak vytvořit a nainstalovat klíče SSH z prostředí Linux

Berte kybernetickou bezpečnost vážně a používejte klíče SSH pro přístup ke vzdálenému přihlášení. 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 Linuxu.

Co je špatného na heslech?

Secure Shell (SSH) je šifrovaný protokol používaný k přihlášení k uživatelským účtům na vzdálených počítačích se systémem Linux nebo Unix. Obvykle jsou takové uživatelské účty zabezpečeny pomocí hesel. Když se přihlašujete 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 prostředkem k zabezpečení přístupu k výpočetním zdrojům. Navzdory tomu má zabezpečení založené na heslech své nedostatky. Lidé volí slabá hesla, sdílejí hesla, používají stejné heslo na více systémech a tak dále.

SSH klíče jsou mnohem bezpečnější a jakmile jsou nastaveny, lze je používat stejně snadno 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ů na jednom počítači používá klíče SSH, každý z nich obdrží 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 ve stejné pozici, jako kdyby oni objevili vaše heslo. Rozumným – a vysoce doporučeným – opatřením je, aby byl váš soukromý klíč ve vašem počítači zašifrován pomocí robustního přístupová fráze.

  Jak odinstalovat software na Ubuntu Linux

Veřejný klíč lze volně sdílet bez jakéhokoli ohrožení vaší bezpečnosti. Ze zkoumání 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 vašeho 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 svou vlastní zašifrovanou zprávu zpět do vzdáleného počítače. Tato zaš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, za koho se vydáváte, protože pouze váš soukromý klíč mohl extrahovat ID relace ze zprávy, kterou odeslal 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 se můžete vzdáleně připojit a přihlásit se ke vzdálenému počítači. To dokazuje, že vaše uživatelské jméno a heslo má na vzdáleném počítači nastavený platný účet a že vaše přihlašovací údaje jsou správné.

Nepokoušejte se nic dělat s klíči SSH, dokud neověříte, že můžete použít SSH s hesly pro připojení k cílovému počítači.

V tomto příkladu je osoba s uživatelským účtem dave přihlášena k počítači s názvem wdzwdz . Chystají se připojit k jinému počítači s názvem Sulaco.

Zadají následující příkaz:

ssh [email protected]

Jsou požádáni o heslo, zadají ho a jsou připojeni k Sulaco. Jejich příkazový řádek se změní, aby to potvrdil.

To je všechno potvrzení, které potřebujeme. Takže uživatel dave se může odpojit od Sulaco pomocí příkazu exit:

exit

Obdrží zprávu o odpojení a jejich příkazový řádek se vrátí na [email protected]

  Jak nastavit vlastní cloudové úložiště v systému Linux s dalším cloudem

Vytvoření páru klíčů SSH

Tyto pokyny byly testovány na distribucích Linuxu Ubuntu, Fedora a Manjaro. Ve všech případech byl proces 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, kde chcete, aby byly vaše klíče SSH uloženy. Stisknutím klávesy Enter potvrď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 heslo. Důrazně vám doporučujeme zadat zde přístupovou frázi. A pamatujte, co to je! Můžete stisknout Enter, abyste neměli přístupovou frázi, ale to není dobrý nápad. Přístupová fráze složená ze tří nebo čtyř nespojených slov spojených 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 napsali to, co jste si mysleli, že jste napsali.

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 ukázat své náhodné umění při každém připojení. Myšlenka je taková, že rozpoznáte, zda se náhodný obrázek změní, a budete mít podezření na připojení, protože to znamená, že klíče SSH pro tento server byly změněny.

Instalace veřejného klíče

Potřebujeme nainstalovat váš veřejný klíč na Sulaco, vzdálený počítač, aby věděl, že veřejný klíč patří vám.

To provedeme pomocí příkazu ssh-copy-id. Tento příkaz vytvoří připojení ke vzdálenému počítači jako běžný příkaz ssh, ale místo toho, aby vám umožnil přihlášení, přenese veřejný klíč SSH.

ssh-copy-id [email protected]

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í určit, ke kterému uživatelskému účtu nový klíč SSH patří.

  Jak spustit Linux na iPadu

Upozorňujeme, že heslo, které zde musíte zadat, je heslo k uživatelskému účtu, ke kterému se přihlašujete. Toto není heslo, které jste právě vytvořili.

Po ověření hesla přenese ssh-copy-id váš veřejný klíč do vzdáleného počítače.

Vrátíte se do příkazového řádku vašeho počítače. Nezůstanete připojeni ke vzdálenému počítači.

Připojení pomocí SSH klíčů

Řiďme se návrhem a pokusme se připojit ke vzdálenému počítači.

ssh [email protected]

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 ochránili pomocí přístupové fráze, budete muset zadat svou přístupovou frázi, aby připojení mohlo pokračovat.

Zadejte svou přístupovou frázi a klikněte na tlačítko Odemknout.

Jakmile zadáte svou přístupovou frázi v terminálové relaci, nebudete ji muset zadávat znovu, dokud budete mít toto okno terminálu otevřené. Můžete se připojit a odpojit od libovolného počtu vzdálených relací, aniž byste museli znovu zadávat heslo.

Můžete zaškrtnout políčko u možnosti „Automaticky odemknout tento klíč, kdykoli jsem přihlášen“, ale sníží to vaši bezpečnost. Pokud necháte svůj počítač bez dozoru, kdokoli se může připojit ke vzdáleným počítačům, které mají váš veřejný klíč.

Jakmile zadáte svou přístupovou frázi, budete připojeni ke vzdálenému počítači.

Chcete-li proces ještě jednou ověřit od konce do konce, odpojte se pomocí příkazu exit a znovu se připojte ke vzdálenému počítači ze stejného okna terminálu.

ssh [email protected]

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 mluví o věci zvané bezpečnostní třenice. To je ta drobná bolest, se kterou se musíte smířit, abyste získali další zabezpečení. K přijetí bezpečnější metody práce je obvykle zapotřebí nějaký další krok nebo dva. A to se většině lidí nelíbí. Ve skutečnosti preferují nižší bezpečnost a nedostatek tření. To je lidská přirozenost.

S klíči SSH získáte zvýšenou bezpečnost a větší pohodlí. To je jednoznačný win-win.