Autentifikácia pomocou verejného kľúča

0. Prolog

TODO (naco vlastne tento navod je)

1. Úvod k PuTTY

Aby ste mohli využívať tento spôsob autentifikácie, treba si najprv vytvoriť pár kľúčov (privátny a verejný). Kľúče vytvárate na počítači, z ktorého sa budete prihlasovať na vzdialený server. Privátny kľúč si ponecháte, verejný prekopírujete na vzdialený server (text kľúča treba pridať do súboru "~/.ssh/authorized_keys" (RSA) resp. do súboru "~/.ssh/authorized_keys2" (DSA/SSH2) na vzdialenom serveri).

Na to aby ste si vedeli vygenerovať a používať prihlasovanie na vzdialené servre je potrebné nainštalovať si celý balík utilít s názvom PuTTY. Tento je možné stiahnuť si zo stránky http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Stiahnite si windows installer a nainštalujte si tento balík.

Nainštaluje sa vám niekoľko utilít, ktoré sa používajú na správu kľúčov a ssh/telnet prístup na vzdialené servery.

Stručný popis niektorých utilít:
    * PuTTY (Telnet a SSH klient)
    * PSCP (SCP klient, i.e. command-line secure file copy)
    * PSFTP (SFTP client, i.e. file transfer klient podobný ako FTP)
    * Pageant (SSH authentication agent pre PuTTY, PSCP ...)
    * PuTTYgen (utilitka na generovanie RSA and DSA kľúčov) 

2. Postup generovania kľúčov:

Kľúče vytvoríte pomocou programu "PuTTYgen". Po spustení programu sa otvorí okno, v ktorom si ukážeme vytvorenie páru kľúčov pre prihlasovanie.


--- Obr. 1.

Vytvorenie kľúča je jednoduché - kliknite na tlačítko "Generate" a pohýbte myšou v okne "Key", kôli generovaniu náhodných dát. Po skončení generovania sa vám ukáže vygenerovaný verejný kľúč, ktorý budete kopírovať na vzdialené servre.

V kolonke "Key comment" je komentár ku kľúču, ktorý v má iba informačnú hodnotu. Dôležitá kolonka je "Key passphrase", kam sa zadáva heslo k privátnemu kľúču. Je veľmi dôležité použiť heslo k privátnemu kľúču, pretože ak by sa potencionálny útočník dostal ku kľúču, tak bez hesla ho nevie použiť.

Do kolonky "Confirm passphrase" zadajte este raz heslo.

Kliknutím na tlačítko "Save private key" si uložte privátny kľúč. Tento kľúč spolu s heslom budete používať k prihlasovaniu a preto je dôležité, aby ste si ho uložili na bezpečné miesto, kam nemajú prístup používatelia z internetu ani z lokálnej siete.

Upozornenie:
Ak zabudnete heslo, neexistuje spôsob, ako ho získať späť! Budete si musieť vygenerovať nový pár kľúčov.
!!! HESLO KU KĽÚČU SI V ŽIADNOM PRÍPADE NEUKLADAJTE DO TEXTOVÉHO SÚBORU ANI INÉHO NEZAKRYPTOVANÉHO DOKUMENTU A UŽ VÔBEC NIE SPOLU S KĽÚČOM !!!

3. Použitie páru ssh kľúčov

Pre prihlasovanie sa pomocou ssh kľúča je potrebné nakopírovať verejný kľúč na vzdialený server. Tento kľúč musí byť uložený v domovskom adresári v podadresári ".ssh" v súbore "authorized_keys". Ak tam taký nemáte, tak si ho vytvorte. Vytvorte si na svojom počítači tento súbor a vložte doňho celý obsah kolonky "Public key for pasting into....". Tento obsah musí byť v jednom riadku. Uložte tento súbor a nakopírujte ho (pomocou sftp alebo scp) na vzdialený server do spomenutého adresára ".ssh". Je veľmi dôležité, aby tento vytvorený súbor nemal práva na zápis pre ostatných ani pre grupu. S "writable" právami vám autentifikácia nepôjde.


--- Obr. 2.


--- Obr. 3.

Takže teraz máme pripravené všetko pre prihlásenie sa na vzdialený server pomocou ssh kľúča. V balíku, ktorý sme si na začiatku nainštalovali, je utilita Pageant. Je to programček, do ktorého si nahráte privátne kľúče na začiatku práce na počítači a ktorý udržuje a poskytuje potom tieto kľúče pre prihlásenie sa na vzdialené servre.

Privátny kľúč do zoznamu kľúčov si pridáte kliknutím na tlačítko "Add key", vyberiete kľúč a zadáte heslo. Tento kľúč sa zaradí do listu, ktorý potom používa program PuTTY (aj niektoré iné) na autentifikáciu.


--- Obr. 4.

Potom už len stačí otvoriť uloženú session v programe PuTTY a ten vás automaticky autentifikuje pomocou páru ssh kľúčov.

Poznámka:
Manuál k programu PuTTY nieje súčasťou tohto krátkeho návodu. Ten si môžete pozrieť tu: http://www.chiark.greenend.org.uk/~sgtatham/putty/


--- Obr. 5.

4. SFTP plugin do Total Commandera

Pretože používanie "terminálových klientov" ako sú PuTTY alebo sftp, je samo o sebe dosť náročné pre bežného používateľa, našli sa dobrí ľudia, ktorí vymysleli okienka a myšku. Jednou z takýchto "okienkových" aplikácií je aj Total Commander (ďalej TC). Ten slúži na správu súborov a adresárov.

Ďalší dobrí ľudia potom vymysleli plugin do TC, ktorý sa volá "sftp4tc". Ten dokáže pomocou sftp pristupovať na vzdialené súborové systémy, a čo je pre nás dôležité dokáže sa autentifikovať pomocou hore spomínaných SSH kľúčov.

Tento plugin je free a môžete si ho stiahnuť z tejto linky: http://prdownload.berlios.de/sftp4tc/wfx_sftp_1_2_58_1_setup.exe.

Spustite si tento inštalátor a nainštalujte si plugin. Potom si pridajte tento plugin do TC. To znamená, že si ho pridáte v Konfigurácia->Obecné nastavenia->Zásuvný modul->Zásuvné moduly súborového systému.

Po reštarte TC sa vám v "Okolitých počítačoch" objaví položka "Secure FTP Connections". Po odklepnutí dvoch dialógov (ktoré si netreba všímať :) sa dostanete do svojich uložených sessions. Na to aby sa tam zobrazovali uložené sessions, treba to ešte nastaviť. Po otvorení "Edit connections" treba zvoliť v políčku "import putty sessions" položku "use key authentication".


--- Obr. 6.

To je všetko vážení. Nieje to také zložité ako sa to zdá. Stačí to raz nastaviť a potom už len používať. Použitie ssh kľúčov sa dá nastaviť aj v iných programoch, ktoré využívajú SSH protokol (napr. WinSCP). Veľmi to zjednoduší samotnú prácu na vzdialených súborových systémoch, hlavne z pohľadu bezpečnosti (nepotrebujete si ukladať heslá na SSH prístup kdekade po textových súboroch).

!!! UPOZORNENIE:
Privátny kľúč si uchovávajte na BEZPEČNOM mieste. V ŽIADNOM PRÍPADE si neukladajte heslo ku kľúču spolu s kľúčom. Ak by sa potencionálny útočník dostal ku privátnemu kľúču a heslu, je potrebné odstrániť jeho verejný pár zo VŠETKÝCH SERVROV, na ktorých sa nachádza !!!

Autor: Chemik - jmadzik (at) gmail.com