Člověk je od přírody lemra líná ... Tak proč si neulehčit život přihlášením k SSH bez nutnosti zadat heslo ...
SSH je protokol a služba typu server-klient, která umožňuje vzdálené připojení k lokálnímu terminálu vzdáleného počítač. A teď trochu víc lidsky ...
... na vzdáleném počítači běží služba (server), ke kterému se vzdáleně připojíme pomocí programu (klient), čímž se zpřístupní vzdálený terminál. Dá se tedy říct, že jsme si "sedli" k počítačí, který je třeba na druhé straně planety ...
... a to vše z tepla domova ...
SSH, přesněji OpenSSH, obsahuje rozšíření v podobě SFTP, které umožňuje podobné použití jako klasické FTP, jen s tím rozdílem, že je funkční a bezpečné ... Podrobnější informace o SSH a SFTP poskytne tetička Wikipedia.
V kombinaci s SSH lze využívat i SSHFS a přihlášení bez hesla nám velmi usnadní scriptování ...
Více o Sdílení souborů pomocí SSH a SSHFS.
V linuxu se přihlásíme k SSH přímo z terminálu a to tímto příkazem:
ssh vzdaleny-uzivatel@IP-nebo-jmeno-vzdaleneho-pocitace
při prvním přihlášení je přidán otisk RSA klíče vzdáleného počítače do souboru known_hosts, který se nachází v domovském adresáři přihlášeného uživatele v podadresáři .ssh. Přidání je nutno potvrdit, toto potvrzení provedeme zadnáním slovíčka yes a následným stiskem klávesy enter. Poté jsme dotázání na
Pod windows je na přihlášení k SSH potřeba program putty. Tento program údajně umí autorizaci pomocí páru RSA klíčů, ale to, co vygeneruje puttygen, je spíš obdobou průjmu, než regulérní RSA klíče ... ... takže o tom snad někdy příště ...
Nejprve je potřeba vygenerovat nový pár RSA klíčů. Generování klíčů provedeme pomocí programu ssh-keygen, vygenerovány jsou dva klíče. Privátní klíč (id_rsa), nikdy nikomu nedávat, zůstává v našem počítači. Veřejný klíč (id_rsa.pub) se zkopíruje do vzdáleného počítače a použije se k autentizaci při přihlášení. Obecně platí, že Privátní klíč nikdy nikomu nezpřístupníme, bezpečně lze zpřístupnit pouze Veřejný klíč, detaily o tom jak to funguje jsou například ZDE.
Nový pár klíču vygenerujeme příkazem:
ssh-keygen -t rsa
V průběhu generování jsme dotázání na několik věcí, první je název a cesta k souboru s klíči. Defaultně je to tedy /home/uzivatelske-jmeno/.ssh/id_rsa. Cestu ani název nebudeme měnit, stiskneme tedy enter pro potvrzení.
Dále je požadováno zadání hesla. Vzhledem k tomu, že chceme využívat přihlášení bez hesla, ponecháme heslo prázdné a jen potvrdíme stiskem klávesy enter, toto zopakujeme, když jsme dotázání na potvrzení hesla. Následně jsou vypsány cesty a názvy souborů s klíči a otisk klíče.
Krok první je zkopírování veřejného klíče do vzdáleného počítače:
scp .ssh/id_rsa.pub vzdaleny-uzivatel@IP-nebo-jmeno-vzdaleneho-pocitace:/home/vzdaleny-uzivatel/
Následně se přihlásíme přes ssh ke vzdálenému počítači a při dotazu, zadáme heslo vzdáleného uživatele:
ssh vzdaleny-uzivatel@IP-nebo-jmeno-vzdaleneho-pocitace
jakmile jsme přihlášeni, uděláme kouzlo ...
cat id_rsa.pub >> .ssh/authorized_keys
Nyní se pomocí příkazu exit nebo pomocí kombinace Ctrl+D odhlásíme a můžeme na plno vychutnat pohodlí přihlašování bez hesla ...
Opět se k SSH připojíme pomocí příkazu:
ssh vzdaleny-uzivatel@IP-nebo-jmeno-vzdaleneho-pocitace
Jen s tím rozdílem, že nyní již nejsme dotázáni na heslo ...
POZNÁMKA: Toto přihlašování není nejbezpečnější, protože pokud necháte svůj počítač nehlídaný a přístupný cizí osobě, může přihlášení bez hesla zneužít. Proto tedy dbejte základního pravidla paranoiků: Pokud odcházíte od počítače, vždy jej uzamkněte nebo se z něj odhlaste, případně nastavte autodestrukci místnosti.