Linux workshop 2.2 - Zabezpečení
Obsah:
- Vytváření SSH klíčů na Ubuntu
- Zkopírujte veřejný klíč na server Ubuntu
- Přihlaste se k serveru pomocí klíčů SSH
- Zakázání ověřování heslem SSH
- Závěr
Secure Shell (SSH) je kryptografický síťový protokol používaný pro zabezpečené spojení mezi klientem a serverem a podporuje různé mechanismy autentizace.
Dva nejoblíbenější mechanismy jsou autentizace založená na heslech a autentizace na základě veřejného klíče. Použití klíčů SSH je bezpečnější a pohodlnější než tradiční ověřování pomocí hesla.
V tomto tutoriálu si ukážeme, jak vygenerovat klíče SSH na počítačích Ubuntu 18.04. Také vám ukážeme, jak nastavit autentizaci pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadání hesla.
Vytváření SSH klíčů na Ubuntu
Před vygenerováním nového páru klíčů SSH nejprve zkontrolujte existující klíče SSH na klientském počítači Ubuntu. To lze provést spuštěním následujícího příkazu ls:
ls -l ~/.ssh/id_*.pub
Pokud příkaz výše vytiskne něco jako
No such file or directory
nebo
no matches found
, znamená to, že na vašem klientském počítači nemáte klíče SSH a můžete pokračovat dalším krokem a vygenerovat pár klíčů SSH.
Pokud již existují klíče, můžete je použít a přeskočit další krok nebo zálohovat staré klíče a vygenerovat nové.
Vygenerujte nový pár klíčů SSH 4096 bitů s vaší e-mailovou adresou jako komentář zadáním:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Výstup bude vypadat asi takto:
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
Stisknutím klávesy
Enter
přijměte výchozí umístění souboru a název souboru.
Dále budete vyzváni k zadání bezpečného přístupového hesla. Ať už chcete používat přístupovou frázi, záleží jen na vás. Pokud se rozhodnete používat přístupové fráze, získáte další vrstvu zabezpečení.
Enter passphrase (empty for no passphrase):
Celá interakce vypadá takto:
Chcete-li ověřit, že je vygenerován nový pár klíčů SSH, zadejte:
ls ~/.ssh/id_*
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
Zkopírujte veřejný klíč na server Ubuntu
Nyní, když jste vygenerovali dvojici klíčů SSH, dalším krokem je zkopírování veřejného klíče na server, který chcete spravovat.
Nejjednodušší a doporučený způsob kopírování veřejného klíče na server je použití nástroje
ssh-copy-id
. Typ vašeho terminálu místního stroje:
ssh-copy-id remote_username@server_ip_address
Budete vyzváni k zadání hesla
remote_username
:
remote_username@server_ip_address's password:
Po ověření uživatele bude veřejný klíč
~/.ssh/id_rsa.pub
připojen k souboru vzdáleného uživatele
~/.ssh/authorized_keys
a připojení bude ukončeno.
Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.
Pokud z nějakého důvodu není nástroj
ssh-copy-id
v místním počítači k dispozici, můžete zkopírovat veřejný klíč pomocí následujícího příkazu:
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Přihlaste se k serveru pomocí klíčů SSH
Po provedení výše uvedených kroků byste se měli mít možnost přihlásit se ke vzdálenému serveru, aniž byste byli vyzváni k zadání hesla.
Chcete-li to vyzkoušet, zkuste se přihlásit k serveru pomocí SSH:
ssh remote_username@server_ip_address
Zakázání ověřování heslem SSH
Zakázání ověřování heslem přidá na server další vrstvu zabezpečení.
Před deaktivací ověřování heslem SSH se ujistěte, že se můžete přihlásit k serveru bez hesla, a uživatel, ke kterému se přihlašujete, má oprávnění sudo.
Přihlaste se ke vzdálenému serveru:
ssh sudo_user@server_ip_address
Otevřete konfigurační soubor SSH
/etc/ssh/sshd_config
pomocí textového editoru:
sudo nano /etc/ssh/sshd_config
Vyhledejte následující směrnice a upravte jej následovně:
/ etc / ssh / sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no
Po dokončení uložte soubor a restartujte službu SSH zadáním:
sudo systemctl restart ssh
V tomto okamžiku je ověřování založené na hesle zakázáno.
Závěr
V tomto tutoriálu jste se naučili, jak vygenerovat nový pár klíčů SSH a nastavit autentizaci pomocí klíče SSH. Stejný klíč můžete přidat na více vzdálených serverů. Také jsme vám ukázali, jak deaktivovat ověřování heslem SSH a přidat další vrstvu zabezpečení na váš server.
Ve výchozím nastavení SSH poslouchá na portu 22. Změna výchozího portu SSH snižuje riziko automatických útoků.
ubuntu ssh zabezpečeníGenerujte ssh klíče na Windows s puttygenem

Tento tutoriál vysvětluje, jak generovat klíče SSH ve Windows pomocí PuTTYgen. Také vám ukážeme, jak nastavit autentizaci pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadání hesla.
Jak nastavit ssh klíče na centos 7

Tento tutoriál vysvětluje, jak generovat klíče SSH v systémech CentOS 7. Také vám ukážeme, jak nastavit autentizaci pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadání hesla.
Jak nastavit ssh klíče na Debianu 9

V tomto tutoriálu popíšeme, jak generovat klíče SSH v systémech Debian 9. Také vám ukážeme, jak nastavit autentizaci pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadání hesla.