Základní informace
- SSH klíče představují zabezpečenou metodu přístupu ke vzdáleným serverům bez nutnosti zadávat heslo. Fungují na principu páru veřejného a soukromého klíče.
- V systému Linux lze vygenerovat pár SSH klíčů pomocí příkazu
ssh-keygen
. Pro zvýšení bezpečnosti je doporučeno přidat přístupovou frázi. - Veřejný SSH klíč se následně zkopíruje na vzdálený server, a to buďto pomocí nástroje
ssh-copy-id
, nebo ručním vložením do souboruauthorized_keys
.
Použitím SSH klíče lze zajistit bezpečnost účtů na vzdálených serverech a zároveň umožnit přístup bez nutnosti zadávat heslo. Generování klíčů je v Linuxu poměrně jednoduché.
Co je SSH klíč?
SSH klíč je kryptograficky generovaný klíč, který slouží k přihlašování ke vzdáleným počítačům. Jedná se o „klíčový pár“ skládající se z veřejného a soukromého klíče. Veřejný klíč se kopíruje na vzdálené servery, kde slouží k vaší autentizaci. Soukromý klíč, jak už název napovídá, je určen pouze pro vás a měl by být uložen ve vašem počítači.
Nikdy nikomu nesdělujte svůj soukromý SSH klíč!
Při přihlašování vzdálený server porovnává váš veřejný klíč s vaším soukromým klíčem. Pokud se shodují, jste oprávněni vstoupit do systému. Tento systém klíčů umožňuje snadné nastavení účtů a současně zajišťuje vysokou úroveň zabezpečení.
Jak vygenerovat vzdálený klíč
Pro vytvoření páru SSH klíčů stačí použít příkaz ssh-keygen
v terminálu Linuxu. Budete vyzváni k zadání umístění souboru a následně k vytvoření a potvrzení přístupové fráze (pokud si ji přejete nastavit). Přístupová fráze přidává k vašemu klíči dodatečnou vrstvu ochrany.
Pokud se rozhodnete pro přístupovou frázi, nezapomeňte ji! Při její ztrátě nebudete moci daný klíč použít k přihlášení.
Chcete-li se přihlašovat bez hesla, ponechte přístupovou frázi prázdnou.
Standardně ssh-keygen
používá algoritmus Ed25519, který je dostatečně bezpečný pro většinu případů. Pomocí parametru -t
můžete vybrat jiný typ algoritmu. To je však obvykle zbytečné, pokud server nepodporuje vámi vybraný algoritmus. Podrobnější informace o generování klíčů najdete v manuálové stránce příkazu ssh-keygen.
Jak dostat nový SSH klíč na vzdálený počítač
Po vygenerování páru klíčů musíte svůj veřejný klíč nahrát na vzdálený server. Existují dva způsoby, jak toho dosáhnout.
Prvním a nejjednodušším způsobem je použití nástroje ssh-copy-id
. Stačí ho zavolat s uživatelským jménem a adresou vzdáleného serveru:
ssh-copy-id [email protected]
Po zadání hesla se váš veřejný klíč zkopíruje na server.
Nyní se můžete ke vzdálenému serveru přihlásit bez hesla:
ssh [email protected]
Pokud to nepomůže, budete muset veřejný klíč zkopírovat a vložit ručně. Veřejný klíč je uložen v souboru s příponou .pub
v adresáři .ssh
ve vašem domovském adresáři. Otevřete tento soubor, zkopírujte jeho obsah a vložte ho do souboru .ssh/authorized_keys
na vzdáleném počítači.
Uložte soubor a nyní se můžete přihlásit k serveru pomocí SSH. Dbejte na to, aby do souboru měl právo zapisovat pouze uživatel, jinak se mohou objevit chyby.