Obsah

SSH klíče

SSH klíče jsou nástrojem alternativní a bezpečnější metody autentizace ssh spojení.

Pro autentizaci uživatele vzdálenému systému se původně používala kombinace dvou údajů - uživatelského jména a hesla. Pokud heslo, které uživatel pošle spolu s uživatelským jménem, je heslo, které má server u daného uživatele uložené v databázi hesel, uživatel je autentizován. Tuto metodu autentizace lze v dnešní době označit za zastaralou a nepříliš bezpečnou.

Autentizace pomocí ssh klíče je z bezpečnostního hlediska výrazně lepší. Uživatelské jméno se používá beze změny, ale místo prostého poslání hesla provede SSH klient se serverem tzv autentizační handshake za použití SSH klíče. Při této operaci se neposílá po síti žádný citlivý údaj - ani heslo, ani SSH klíč.

Trocha teorie

Co je SSH klíč?

SSH klíč je číslo o délce několika (kilo)bitů. Jedná se o kryptografický prostředek, který se skládá ze dvou částí:

Veřejný klíč je veřejně publikovatelným prostředkem. Tímto klíčem je možné zašifrovat zprávu, nelze ji ale v rozumném čase rozšifrovat. Z veřejného klíče nelze vypočítat klíč privátní.

Privátní klíč je určen výhradně majiteli a měl by být vhodně skladován (viz dále). Tímto klíčem je jeho majitel schopen rozšifrovat zprávu, zašifrovanou veřejným klíčem. Z privátního klíče je vypočítán klíč veřejný.

Jak funguje autentizace

Server má k dispozici veřejný klíč osoby, která má právo být systémem autentizována. Pomocí tohoto klíče zašifruje výzvu (blok náhodných dat, která nelze uhádnout) pro klienta, který za použití privátního klíče prokáže, je-li schopen tuto výzvu dešifrovat. Pokud server obdrží od klienta správně rozšifrovanou výzvu, ověří tím, že klient má k dispozici příslušný privátní klíč a autentizuje jej. Pokud klient neprokáže vlastnictví privátního klíče je mu přístup odepřen. Povšimněte si, že samotný privátní klíč se během tohoto procesu neposílá sítí.

Proč je klíč lepší než heslo

Proč je klíč horší než heslo

Doporučení pro uložení privátního klíče

Generování klíčů

Microsoft Windows

Doporučenou variantou je použít program puttygen.

Po spuštění se objeví toto okno:

V rámečku „Parameters“ zvolte SSH-2 DSA a klikněte na tlačítko „Generate“.

Program poté chce, abyste pomohli vygenerovat trochu entropie, proto náhodně hýbejte kurzorem myši v políčku „Key“. Poté je klíč vygenerován a objeví se něco v tomto smyslu:

Do políčka „Key comment“ vyplňte Váš identifikátor - přezdívku či přímo jméno a příjmení. Volitelně můžete do „Key passphrase“ a „Confirm passphrase“ vyplnit heslo pro ochranu privátního klíče.

Důležité! V rámečku „Actions“ klikněte na „Save public key“ pro uložení veřejného klíče a „Save private key“ pro uložení veřejného klíče. Bez uložení klíče je celá akce k ničemu.

Linux / BSD / Mac OS X

Za předpokladu, že používáte OpenSSH, zadejte v terminálu následující příkaz:

  ssh-keygen -d

Budete dotázáni na cestu pro uložení klíče:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/misko/.ssh/id_dsa): 

Můžete použít jakoukoliv cestu; výchozí je adresář .ssh/, kam se klient dívá automaticky.

Dále budete dotázáni na heslo pro ochranu klíče:

Enter passphrase (empty for no passphrase): 

Předání klíče pracovníku společnosti Trustica s.r.o.

Microsoft Windows

Zašlete e-mailem či jinak elektronicky obsah kolonky “Public key for pasting into OpenSSH authorized_keys file:

Zaměstnancem můžete být dotázáni na „fingerprint“ (otisk) klíče. “Key fingerprint“ se v obrázku nachází hned pod kolonkou „Public key …“.

Linux

Zašlete obsah souboru id_dsa.pub. Pokud jste použili výchozí nastavení, nachází se v adresáři ~/.ssh/. V opačném případě hledejte v cestě, kterou jste zvolili během generování.

Mac OS X

Pokud jste použili výchozí nastavení, je klíč uložen v souboru id_dsa.pub v adresáři ~/.ssh/. Nejsnazší způsob jak se k němu dostat je tento:

Odkazy