Probíhá hledání...

Jak nastavit SSH s ověřováním pomocí veřejných klíčů v Debianu/Ubuntu

Tento mini návod vysvětluje, jak nastavit SSH server na systémech podobných Debianu s autorizací veřejným klíčem (a případně se zakázaným přihlašováním pomocí hesla). SSH je skvělý nástroj pro vzdálené ovládání počítačů se systémem Linux. Je bezpečný a zabezpečený.

Přípravy v našem klientském (desktopovém) systému

Jako druhé provedeme několik příprav na našem stolním počítači. Tento počítač bude sloužit k připojení k serveru. SSH-server byl tedy nainstalován na jiném počítači. Na stolním počítači nainstalujeme klienta ssh (který použijeme k připojení k serveru). Upozorňujeme, že instalace programů vyžaduje oprávnění roota! Pokud nejste přihlášeni jako root, přihlaste se! (su root a poté zadejte své heslo.) Poté nainstalujte klienta:


apt-get install openssh-client

Přepněte se zpět na svého běžného uživatele (respektive ne na uživatele root). Poté zadejte tyto příkazy v následujícím pořadí:


mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh

Vygenerujeme si dvojici klíčů, veřejný a soukromý klíč. Veřejný klíč bude umístěn na serveru a vy se budete přihlašovat pomocí svého soukromého klíče. Na dotaz zadejte svou přístupovou frázi (bude potřeba pro budoucí přihlášení, takže si ji zapamatujte!):


ssh-keygen -t rsa -C "Jakýkoli komentář... obvykle zde stačí e-mail...".
Poté zkopírujeme veřejný klíč (který jsme si před chvílí vygenerovali) na náš (vzdálený) server. Vzdálený uživatel by neměl být root! Jako remoteuser zvolte výchozího uživatele, který není root. (Všimněte si dvojtečky na konci řádku! Je důležitá.)


scp -p id_rsa.pub remoteuser@remotehost:
Poté se přihlásíme pomocí SSH a zkopírujeme veřejný klíč na správné místo:


ssh remoteuser@remotehost
mkdir ~/.ssh
chmod 700 ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
mv id_rsa.pub ~/.ssh
logout

Veřejný klíč na ploše musíme smazat, protože jinak nám klient SSH nedovolí přihlásit se k serveru. Zadejte tedy tento příkaz:


rm id_rsa.pub
A pak se přihlásíme zpět:


ssh remoteuser@remotehost
Pokud jsme vše provedli přesně podle výše uvedených pokynů, budete vyzváni k zadání přístupové fráze. Zadejte ji, pak jste uvnitř a máte poměrně bezpečné prostředí SSH!

Vypnutí ověřování heslem

Zakázání je dobrý způsob, jak mít bezpečnější SSH-instalaci. Pak se můžete přihlašovat pouze pomocí dvojice klíčů, takže si dejte pozor, abyste je neztratili! Je to čistě volitelná, ale bezpečná aktivace! Než to však uděláte, ujistěte se, že ověřování pomocí klíčů funguje out-of-the-box. Sedněte si před server (nepřihlašujte se tedy vzdáleně, protože později musíme SSH restartovat...) a zadejte tyto příkazy ručně jako root:


cd /etc/ssh
cp sshd_config sshd_config.orig
nano sshd_config

Na obrazovce budete mít otevřený textový editor nano s hlavním konfiguračním souborem SSH. Změňte tyto řádky (neobtěžujte se, pokud některý z těchto řádků má na začátku značku '#'; pokud ji má, smažte i tuto značku):


PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
na tyto: PermitRootLogin no
PasswordAuthentication no
UsePAM no

Poté soubor uložte pomocí klávesové zkratky Ctrl + O a restartujte server SSH:


/etc/init.d/ssh restart

Pozor: pokud zakážete ověřování heslem, nebudete se moci přihlašovat pomocí hesel! K dispozici bude pouze ověřování pomocí klíčů!

Komentáře

Pro odeslání komentáře je nutno být přihlášen