GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit klíče SSH na Ubuntu 18.04

Secure Shell (SSH) je šifrovací síťový protokol používaný pro bezpečné spojení mezi klientem a serverem a podporuje různé ověřovací mechanismy.

Dva nejoblíbenější mechanismy jsou autentizace založená na heslech a autentizace na základě veřejného klíče. Používání klíčů SSH je bezpečnější a pohodlnější než tradiční ověřování heslem.

V tomto tutoriálu si projdeme, jak generovat klíče SSH na počítačích Ubuntu 18.04. Ukážeme vám také, jak nastavit ověřování pomocí klíče SSH a připojit se ke vzdáleným serverům Linux bez zadávání hesla.

Vytváření klíčů SSH 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. Můžete to provést spuštěním následujícího příkazu ls:

ls -l ~/.ssh/id_*.pub

Pokud výše uvedený příkaz vypíše něco jako No such file or directory nebo no matches found znamená to, že na svém 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 existují klíče, můžete je buď použít a přeskočit další krok, nebo zálohovat staré klíče a vygenerovat nové.

Vygenerujte nový 4096bitový pár klíčů SSH s vaší e-mailovou adresou jako komentář zadáním:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Výstup bude vypadat nějak takto:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Stiskněte Enter přijmout výchozí umístění souboru a název souboru.

Dále budete vyzváni k zadání bezpečné přístupové fráze. Jestli chcete použít přístupovou frázi, je to na vás. Pokud se rozhodnete použít přístupovou frázi, získáte další vrstvu zabezpečení.

Enter passphrase (empty for no passphrase):

Pokud nechcete použít přístupovou frázi, stiskněte Enter .

Celá interakce vypadá takto:

Chcete-li ověřit, že byl 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 #

Nyní, když jste vygenerovali svůj pár klíčů SSH, dalším krokem je zkopírovat veřejný klíč na server, který chcete spravovat.

Nejjednodušší a doporučený způsob, jak zkopírovat váš veřejný klíč na server, je použít nástroj s názvem ssh-copy-id . Typ terminálu na místním počítači:

ssh-copy-id remote_username@server_ip_address

Budete vyzváni k zadání remote_username heslo:

remote_username@server_ip_address's password:

Jakmile je uživatel ověřen, veřejný klíč ~/.ssh/id_rsa.pub bude připojen ke vzdálenému uživateli ~/.ssh/authorized_keys soubor a připojení budou uzavřeny.

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 ssh-copy-id není na vašem místním počítači dostupný, můžete použít následující příkaz ke zkopírování veřejného klíče:

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 na svůj server pomocí klíčů SSH #

Po dokončení výše uvedených kroků byste měli být schopni se přihlásit ke vzdálenému serveru, aniž byste byli vyzváni k zadání hesla.

Chcete-li to otestovat, zkuste se přihlásit na svůj server přes SSH:

ssh remote_username@server_ip_address

Pokud jste pro soukromý klíč nenastavili přístupovou frázi, budete okamžitě přihlášeni. V opačném případě budete vyzváni k zadání přístupové fráze.

Deaktivace ověřování hesla SSH #

Vypnutí ověřování heslem přidá vašemu serveru další vrstvu zabezpečení.

Před deaktivací ověřování heslem SSH se ujistěte, že se můžete přihlásit na svůj server bez hesla a že uživatel, se kterým 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í direktivy a upravte je následovně:

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Jakmile budete hotovi, uložte soubor a restartujte službu SSH zadáním:

sudo systemctl restart ssh

V tomto okamžiku je ověřování na základě hesla zakázáno.


Ubuntu
  1. Jak nastavit klíče SSH

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nakonfigurovat autorizované klíče SSH na Ubuntu

  1. Jak povolit SSH na Ubuntu 18.04

  2. Jak nastavit klíče SSH na Ubuntu 16.04

  3. Jak nastavit klíče SSH na Debianu

  1. Jak vygenerovat klíče SSH na Ubuntu 18.04

  2. Jak vygenerovat a nastavit klíče SSH na CentOS 7

  3. Jak nastavit přihlášení k SSH bez hesla