Ahoj linuxoví nadšenci, vždy je dobrou praxí, že linuxové systémy by měly být ssh s klíči spíše než s heslem. Klíče SSH (Secure Shell) nám poskytují bezpečný způsob přihlášení k serverům podobným Linuxu a UNIXu. Když přistupujeme k systémům Linux pomocí klíčů SSH, pak je to také známé jako ověřování ssh bez hesla.
V tomto příspěvku se naučíme, jak nastavit ověřování SSH bez hesla pomocí klíčů v Linuxu.
Podrobnosti o nastavení laboratoře:
- Jump Host (Rocky Linux) – klient SSH – 192.168.1.135
- Vzdálený systém Linux (Ubuntu 20.04) – 192.168.1.130
Pojďme se hlouběji ponořit do kroků
Krok 1) Vygenerujte klíče SSH na hostiteli Jump pomocí příkazu ssh-keygen
Přihlaste se do skokového hostitele, v mém případě používám „sysadm“. Spusťte příkaz ssh-keyen a vygenerujte veřejné a soukromé klíče pro sysadm pomocí algoritmu rsa
$ ssh-keygen -t rsa
Tento příkaz vás vyzve k zadání cesty k veřejným a soukromým klíčům, pokud chcete zachovat výchozí cestu, stiskněte klávesu enter a také stiskněte klávesu enter při výzvě k nastavení přístupové fráze.
Výstup příkazu ssh-keygen by vypadal níže,
Poznámka:Ve výchozím nastavení příkaz ssh-keygen generuje klíče o velikosti 2048 bitů. Pokud chcete změnit velikost klíčů, použijte volbu „-b“ následovanou velikostí v bitech. Příklad je uveden níže,
$ ssh-keygen -t rsa -b 4096
Krok 2) Zkopírujte veřejný klíč uživatele do vzdáleného systému Linux
Pomocí příkazu „ssh-copy-id“ zkopírujte veřejný klíč uživatele do souboru autorizovaných klíčů uživatele vzdáleného linuxového systému.
Syntaxe:ssh-copy-id @
$ ssh-copy-id [email protected]
Výstup
Krok 3) Otestujte autentizaci ssh bez hesla
Nyní zkuste ssh vzdálený systém z hostitele skoku.
$ ssh [email protected]
Výstup,
Perfektní, výše uvedený výstup potvrzuje, že se můžeme přihlásit ke vzdálenému systému bez zadání jakéhokoli hesla.
Níže jsou uvedeny důležité body, které je třeba vzít v úvahu při nastavování ověřování bez hesla.
- Jakmile budou klíče vyměněny a otestovány, měli bychom zakázat root přihlášení a ověřování založené na hesle pro uživatele root a další uživatele.
Chcete-li toho dosáhnout, upravte soubor ‚/etc/ssh/sshd_config‘ a nastavte následující parametry.
PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no UsePAM yes
Uložte a ukončete soubor a restartujte službu ssh pomocí níže uvedeného příkazu systemctl.
$ sudo systemctl restart sshd
- Dalším důležitým bodem je, že vzdálený uživatel, v našem případě „kadmin“, by měl být součástí skupiny sudo a mít práva správce, aby mohl provádět administrativní úkoly.
To je z tohoto příspěvku vše, doufám, že pro vás byl informativní. Své dotazy a zpětnou vazbu zanechte v sekci komentářů níže.
Přečtěte si také : 10 příkladů příkazů iftop v systému Linux