Vytvoření SSH klíče pro přihlašování bez hesla
Není to tak dávno, co jsem řešil svou lenivost při neustálém zadávání hesla při přihlašování pomocí ssh...
29.03.2010
v 12:10
Trocha teorie
SSH klíč je si možné představit jako duo dvou speciální souborů, přičemž jednomu se říká veřejný klíč a druhému privátní. Veřejný klíč je opravdu veřejný a může ho mít kdokoliv. Privátní klíč je určen pouze majiteli pro jeho jednoznačnou identifikaci (podobně jako heslo).
Pomocí privátního klíče jeho uživatel dokazuje majiteli veřejného klíče, že je to opravdu on. Pokud tedy ztratíte privátní klíč, může se nálezce identifikovat jako Vy. Je to obdobné, jako když někdo zjistí vaše přihlašovací heslo.
Princip autentizace probíhá obdobně jako u hesla. Pokud se chce majitel privátního klíče (klient) přihlásit na server, pošle nějdřív server klientovi náhodná data zašifrovaná veřejným klíčem. Klient jakožto majitel privátního klíče má možnost tato data rozšifrovat a poslat zpět serveru. Pokud se přijatá a odeslaná náhodná data shodují, dokázal tím klient, že je majitelem privátního klíče a je možné mu autorizovat přístup na server a to bez použití hesla.
Jak na to
1) je nutné pod libovolným uživatelem na libovolném počítači vygenerovat pár klíčů příkazem
ssh-keygen -b 1024 -t dsa.
DSA klíč je vždy 1024bitový. SSH podporuje obvykle ještě RSA. Při generování klíče nabídne ssh-keygen cestu, kam se uloží oba dva vygenerované klíče a možnost zadání passphrase. Frázi ponechte prázdnou. Standardně jsou vygenerovány klíče do home adresáře uživatele v adresáči .ssh: id_dsa a id_dsa.pub.
2) Překopírujte soubor id_dsa.pub do souboru /home/sshuser/.ssh/authorized_keys na serveru. sshuser je uživatel, který bude mít povolenou autorizaci pomocí klíče (na serveru). Pokud hodláte používat více klíčů k jednomu uživateli, jednoduše obsah souboru id_dsa.pub přidejte do souboru authorized_keys například příkazem cat id_dsa.pub >> authorized_keys.
3) Nyní se můžete přihlásit například příkazem:
ssh sshuser@ip -i muj_privatni_klic_dsa
Máte také možnost automatického používání klíče a to jednoduchou úpravou. V konfiguračním souboru /etc/ssh/ssh_config přidejte například řádek
IdentityFile ~/muj_dsa_privatni_klic_dsa

Komentáře
Zobrazit vše Počet příspěvků: 0