Jak vygenerovat klíč SSH v systému Linux

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 souboru authorized_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.