SSH, také známý jako „Secure Shell“, je protokol s otevřeným zdrojovým kódem používaný k přihlášení ke vzdálenému serveru Linux. Používají jej správci systému a sítě ke správě serverů Linux ze vzdáleného umístění. Používá se také k přenosu souborů mezi více systémy Linux. Existují dva způsoby, jak se přihlásit ke vzdálenému systému Linux:pomocí ověřování pomocí hesla a ověřování na základě klíče. Autentizace založená na klíčích je bezpečnější než hesla, protože do Linuxu se může přihlásit pouze uživatel s platnými klíči.
V tomto příspěvku vám ukážeme, jak nastavit SSH bez hesla na Linuxu.
Předpoklady
- Server Linux na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu, CentOS nebo Rocky Linux s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Nebo
dnf update -y
Krok 2 – Vygenerujte klíč SSH
Nejprve budete muset vygenerovat pár klíčů SSH na počítači, kde pracujete.
Můžete jej vygenerovat pomocí následujícího příkazu:
ssh-keygen -t rsa
Budete požádáni o zadání umístění pro uložení klíče, jak je znázorněno níže:
Enter file in which to save the key (/home/vyom/.ssh/id_rsa):
Stačí stisknout Enter a přijmout výchozí cestu. Budete požádáni o nastavení přístupové fráze, jak je uvedeno níže:
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Stačí stisknout klávesu Enter bez zadání jakékoli přístupové fráze. Měli byste vidět následující výstup:
Your identification has been saved in /home/vyom/.ssh/id_rsa. Your public key has been saved in /home/vyom/.ssh/id_rsa.pub. The key fingerprint is: ec:50:43:d9:39:64:f8:19:63:18:ab:1c:e4:ea:f5:e7 [email protected] The key's randomart image is: +--[ RSA 2048]----+ | . oBo. | | o .+oB | | o +o = | | o = .o | | . = S | | . . + | | . o . | | o | | E | +-----------------+
Nyní ověřte svůj klíč SSH pomocí následujícího příkazu:
ls -la ~/.ssh/id_*.pub
Měli byste vidět následující výstup:
-rw-r--r-- 1 vyom vyom 392 Sep 8 14:34 /home/vyom/.ssh/id_rsa.pub
Krok 3 – Zkopírujte veřejný klíč SSH na vzdálený server
Nyní budete muset zkopírovat svůj veřejný klíč na vzdálený server. Můžete to udělat pomocí příkazu ssh-copy-id:
ssh-copy-id [email protected]
Budete požádáni o zadání hesla uživatele root vzdáleného serveru pro zkopírování veřejného klíče:
Heslo uživatele[email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
Krok 4 – Připojte vzdálený server bez hesla
V tomto okamžiku je vygenerován klíč SSH a zkopírován na vzdálený server. Nyní se můžete připojit ke vzdálenému serveru bez zadání hesla:
ssh [email protected]
Po připojení byste měli vidět následující výstup:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Wed Sep 8 07:50:27 2021 from 106.222.86.57 [email protected]:~#
Krok 5 – Odeberte ověřování na základě hesla
V tomto okamžiku je úspěšně nakonfigurováno ověřování založené na klíči SSH. Nyní se doporučuje zakázat používání ověřování heslem, aby všichni používali pouze klíče pro přístup na server.
Na vzdáleném serveru Linux upravte hlavní konfigurační soubor SSH:
nano /etc/ssh/sshd_config
Odkomentujte a změňte následující řádek:
PasswordAuthentication no
Uložte a zavřete soubor a poté restartujte službu SSH, aby se změny projevily:
systemctl restart ssh
Závěr
Ve výše uvedené příručce jste se naučili, jak nastavit ověřování SSH bez hesla v systému Linux. Nyní můžete implementovat ověřování na základě klíče SSH pro každý server, který chcete spravovat vzdáleně. Vyzkoušejte to ještě dnes na hostingu VPS od Atlantic.Net.