Toto je starší verze dokumentu!
Klient se serveru představí a žádá o komunikaci. Pokud má server u sebe uložený veřejný klíč toho kdo se představil, zašifruje jím nějaká data a pošle je klientovi. Ten je díky svému tajnému soukromému klíči jako jediný dokáže rozluštit a pošle zpět. Server díky tomu ví, že klient je skutečně ten za koho se vydává a je ověřený.
Předtím je potřeba na server nahrát veřejný klíč klienta.
Na klientovi (jedním příkazem) vygenerovat veřejný a soukromý klíč (pokud jej ještě nemá) a potom veřejný klíč klienta přidat na serveru do souboru authorized_keys
.
ssh-keygen scp ~/.ssh/id_rsa.pub uzivatel@domena.cz:~ ssh uzivatel@domena.cz mkdir -p ~/.ssh cat ~/id_rsa.pub >> ~/.ssh/authorized_keys rm ../id_rsa.pub exit
alternativně pokud systém umí ssh-copy-id
ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub uzivatel@domena.cz ssh uzivatel@domena.cz ls
ssh-keygen
- vygeneruje a uloží klíč do ~/.ssh
(ve windows je to c:/Users/myUserName/.ssh
). Vytvoří soubory id_rsa
a id_rsa.pub
(privátní a veřejný). Privátní je nutné si střežit jako oko v hlavě, veřejný rozdávat.
Pokud existuje klíč (tzn. soubor id_rsa
) v adresáři $HOME/.ssh
, aplikace ho obvykle rozpoznají a automaticky použijí.
Ověření funkčnosti např.
ssh uzivatel@domena.cz ls
Je několik typů, použít RSA nebo DSA je dobrý nápad. Nejdoporučovanější je RSA (SSH-2 RSA). Poté se klíč určuje počtem bitů, 1024 nebo 2048 je dobrý nápad.