Poté co mně již podruhé hackli můj server
jsem se musel již konečně rozhoupat a zavést na něm přihlašování na SSH pomocí certifikátů. Celá tato authentizace je založená na nepoužívání hesel, ale specifických klíčů (key), z nichž jeden je veřejný (ten vždy nahrajete na server, na který se chcete přihlašovat) a jeden je osobní (ten si máte uložený u sebe v PC, z kterých se chcete přihlašovat). Jde vlastně o princip zámku a klíče (z toho pramení ten název) – ve finální fázi se při pokusu přihlásit po naším uživatelem bude nejprve server testovat, zda jsou klíče navzájem kompatibilní a při úspěchu vás propustí dále. Výhodou, ale i nevýhodou je, že se vlastně na serveru můžete dostat pouze ze svého PC. Pokud od něho budete několik stovek km daleko, tak máte smůlu
Návod:
Nejdříve si vygenerujte ssh klíče příkazem ssh-keygen (defaultně generuje RSA klíče, můžete použít paramatr t pro změnu na DSA), poté budete vyzvání k udání cesty, kam klíče uložit (defaultně ukládá do /home/uživatel/.ssh/) a nakonec k zadání fráze, kterou klíč zakódujete:
quimi@quimi-pc:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/quimi/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/quimi/.ssh/id_dsa.
Your public key has been saved in /home/quimi/.ssh/id_dsa.pub.
The key fingerprint is:
8d:0f:9f:0a:a1:aa:73:b3:02:30:f8:72:c2:a8:ad:59 quimi@quimi-pc
Soubor id_dsa je náš privátní klíč, a proto může zůstat ve složce /home/quimi/.ssh/. Nyní vám již stačí pouze nahrát na server váš veřejný klíč – na serveru si vytvořte stejnojmennného uživatele jako u vás v PC a vytvořte i složku .ssh ve vašem domovském adresáři. Do ní pak nahrejte soubor id_dsa.pub, který nakonec přejmenujte na autohorized_keys.
Nakonec jen vypneme přihlašování přes hesla a zapneme přihlašovaní přes certifikáty – v souboru /etc/ssh/sshd_config editujeme řádek
PasswordAuthentication yes
na
PasswordAuthentication no.
Příště si ukážeme, jak generovat certifikáty ve Windows XP.