Android

Jak nastavit ssh klíče na Ubuntu 18.04

Linux workshop 2.2 - Zabezpečení

Linux workshop 2.2 - Zabezpečení

Obsah:

Anonim

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í