PuTTY a přihlášení pomocí klíčů: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Obrázky)
Řádka 2: Řádka 2:
  
 
== SSH ==
 
== SSH ==
SSH (Secure Shell) je náhrada za nešifrovaný telnet. Vymyslel jej v roce 1995 na Technické univerzitě v Helsinkách (kde studoval i Linus Torvalds) student Tatu Ylönen poté, co byla ve školní síti rutinně odchytávána hesla spolužáků. SSH využívá pro zabezpečení asymetrické šifrování a umožňuje ji použít i pro autentizaci.
+
SSH (Secure Shell) je náhrada za nešifrovaný telnet. Vymyslel jej v roce 1995 na Technické univerzitě v Helsinkách (kde studoval i Linus Torvalds) student Tatu Ylönen poté, co byla ve školní síti rutinně odchytávána hesla spolužáků. SSH využívá pro zabezpečení přenášených dat asymetrické šifrování a umožňuje použít asymetrickou šifru pro autentizaci (tj. využít veřejný a privátní klíč místo zadávání hesla).
  
 
=== Asymetrická šifra a autentizace ===
 
=== Asymetrická šifra a autentizace ===
Řádka 17: Řádka 17:
  
 
== Generování klíčů pomocí PuTTYgen ==
 
== Generování klíčů pomocí PuTTYgen ==
 +
[[Soubor:PuTTYgen 1.png|thumb|Spuštěný PuTTYgen]]
 
Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko Generate a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.
 
Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko Generate a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.
  

Verze z 17. 11. 2021, 18:24

Pro bezpečné přihlášení do příkazového řádku (tj. textový režim) ke vzdálenému systému s Linuxem je obvykle nutné použít SSH (Secure Shell). Ve Windows 10 lze použít nástroj ssh v příkazovém řádku (CMD.exe) nebo lépe grafický nástroj PuTTY.

SSH

SSH (Secure Shell) je náhrada za nešifrovaný telnet. Vymyslel jej v roce 1995 na Technické univerzitě v Helsinkách (kde studoval i Linus Torvalds) student Tatu Ylönen poté, co byla ve školní síti rutinně odchytávána hesla spolužáků. SSH využívá pro zabezpečení přenášených dat asymetrické šifrování a umožňuje použít asymetrickou šifru pro autentizaci (tj. využít veřejný a privátní klíč místo zadávání hesla).

Asymetrická šifra a autentizace

Asymetrická šifra používá dvojici klíčů. Jeden je obvykle nazýván privátní (utajený, chráněný heslovou frází) a druhý veřejný. Oba klíče (privátní a veřejný) je nutné generovat najednou, protože z jednoho nelze odvodit druhý. Pokud něco jedním klíčem zašifrujeme, rozšifrovat to lze jen druhým klíčem ze zmíněného páru. Pokud spolu asymetrickou šifrou komunikují dvě strany, mají obě k dispozici pár klíčů, takže dohromady jsou k dispozici 4 klíče. Pro bezpečnou komunikaci bezi stranou A (Alice) a B (Bob) se pak používá tzv. křížová šifra, kdy:

  1. strana A zašifruje zprávu svým privátním a veřejným klíčem strany B
  2. odešle zprávu
  3. strana B zprávu dešifruje svým privátním a veřejným klíčem strany A

Při tomto způsobu zabezpečení není nikdo schopen zprávu přečíst, změnit ani vytvořit za předpokladu, že nedojde ke kompromitaci (vyzrazení) privátních klíčů obou stran A a B. Je však nutné se ujistit, že veřejný klíč, který je použit ke šifrování/dešifrování opravdu patří protistraně (pomocí otisku klíče, podpisu v klíči nebo pomocí certifikační autority).

Instalace PuTTY

Ze stránky https://www.putty.org/ (odkaz vede na https://www.chiark.greenend.org.uk/) si stáhněte MSI soubor s PUTTY (64 nebo 32bitový) a nainstalujte. Společně s PuTTY jsou nainstalovány i pomocné nástroje (PuTTYgen, Pageant a další).

Generování klíčů pomocí PuTTYgen

Spuštěný PuTTYgen

Spusťte nástroj PuTTYgen (menu Start nebo klávesa Win - napište putty a vyberte PuTTYgen). Ponechte výchozí typ klíče (RSA) i délku klíče (2048). Délku klíče můžete prodloužit na 4096, ale není to nutné (generování bude trvat déle, klíč bude robusnější). Klikněte na tlačítko Generate a v případě potřeby pohybujte myší v šedé prázdné horní části okna (generování entropie) - při pohybu bude postupovat zelený ukazatel.

Po skončení generování se v horní části okna zobrazí veřejný klíč. Vyplňte Key comment (např. muj.email@seznam.cz-2021-11-17) a Key passphrase (heslová fráze chránící privátní klíč), kterou musíte ještě zopakovat do políčka Confirm passphrase. Uložte privátní klíč kliknutím na tlačítko Save private key. Uložit ho můžete kamkoliv, zvolte popisné jméno (např. PuTTY-privatni-klic-muj.email@seznam.cz-2021-11-17.ppk). Volitelně můžete uložit veřejný klíč (nejlépe pod stejným jménem s příponou .TXT). Veřejný klíč je součástí PPK souboru s privátním klíčem a lze ho proto zpětně do PuTTYgen načíst (tlačítko Load). Můžete ho v horní části okna i označit myší a zkopírovat do schránky (klíč je zakódován do tisknutelných ASCII znaků, aby se dal snadno přenášet) - stačí na něj kliknout pravým tlačítkem, dát Vybrat vše a stisknout CTRL+c.

Veřejný klíč na Linux server

Po vygenerování páru klíčů je možné je použít pro přihlášení na vzdálený server. K tomu je potřeba umístit veřejný klíč na vzdáleném serveru do souboru ~/.ssh/authorized_keys (vlnka na začátku označuje domácí adresář uživatele, který se chce takto přihlašovat).

Spusťte program PuTTY a přihlašte se ke vzdálenému serveru. Přepněte se do svého domácího adresáře (příkaz cd), vytvořte adresář .ssh (příkaz mkdir) a nastavte oprávnění pro vstup do adresáře jen pro vlastníka (příkaz chmod):

cd
mkdir .ssh
chmod 700 .ssh

Spusťte textový editor nano a veřejný klíč uložte do souboru ~/.ssh/authorized_keys:

nano .ssh/authorized_keys

V PuTTY se obsah schránky vkládá na místo kurzoru kombinací kláves SHIFT+Insert. Ukončení editoru s uložením obsahu souboru proveďte kombinací CTRL+x (viz nápověda v dolní části okna) - na otázky v dolní části obrazovky odpovídejte klávesami Y (případně N) a jméno souboru potvrďte klávesou Enter. Klíč by měl být na jednom řádku, který může kvůli velikosti okna přetékat přes více řádků, ale nebude v něm nikde umístěn Enter (přechod na nový řádek). V souboru může být více veřejných klíčů, vždy jeden na jednom dlouhém řádku.

Nastavte restriktivní oprávnění (číst může jen vlastník):

chmod 600 .ssh/authorized_keys

Přihlášení pomocí klíčů

Nejjednodušší způsob přihlašování pomocí veřejného klíče (umístěného na cílovém vzdáleném serveru) je, že svůj privátní klíč načtete do aplikace Paegant, ze které si ho PuTTY při přihlašování načte. Výhodou tohoto postupu je, že do vypnutí počítače je klíč odemčený v aplikaci Paegant a můžete se opakovaně přihlašovat bez zadávání heslové fráze.

Spusťte program Pageant (klávesa Win - napište pageant a spusťte). Běžící Pageant se ukryje do Systray (zobáček v pravé dolní části obrazovky u hodin). Na ikonu programu Pageant buď proveďte dvojklik a klikněte na tlačítko Add Key (nebo klikněte v Systray na ikonu programu Pageant pravým tlačítkem myši a rovnou vyberte Add Key). Nalistujte uložený privátní klíč, potvrďte, vložte heslovou frázi chránící privátní klíč.

Spusťte program PuTTY a přihlašte se na vzdálený server, kde máte uložen veřejný klíč. Pokud je vše správně, nebudete dotázání na přihlašovací heslo.

Přihlášení klíčem nefunguje

Pokud přihlášení klíčem nefunguje, zkontrolujte oprávnění na adresáři .ssh a souboru ~/.ssh/authorized_keys. Zkontrolujte, jestli někde není překlep a jestli veřejný klíč není rozdělen klávesou Enter na více řádků (při pohybu šipkou doprava nesmí kurzor ukázat, že před pravým krajem obrazovky přešel na nový řádek).