Ve výchozím nastavení SSH umožní každému platnému uživatelskému účtu přihlásit se do vzdáleného systému, a to včetně uživatele root. Ačkoli je uživatel root nastaven na silné heslo, může pouze omezit jeho vystavení útokům hrubou silou. Ale jak bylo řečeno, pouze omezuje, stále je možný škodlivý přístup k účtu root. Vždy je tedy nejlepším postupem zakázat přihlášení uživatele root přes SSH a pro přístup ke vzdálenému systému použít účet bez privilegovaného uživatele. Jakmile získáte přístup ke vzdálenému systému jako neprivilegovaný uživatel, su - lze použít k přepnutí na účet root. Tento tutoriál vysvětlí, jak zakázat přihlášení uživatele root přes SSH na CentOS 7.
Kroky uvedené v tomto tutoriálu vyžadují přístup root. Jako příklad je použit účet „administrator“, který by měl být nahrazen uživatelským jménem dle vašeho výběru.
Krok 1: Přihlaste se do systému jako root uživatel. Nebojte se, budete používat root účet pro vzdálené přihlášení pouze v tomto kroku.
Krok 2: Vytvořte alternativní uživatelský účet. Například administrator .
[root@root ~]# adduser administrator
Krok 3: Nastavte silné heslo pro uživatelský účet vytvořený v kroku 2.
[root@root ~]# passwd administrator
Krok 4: Otevřete jiný terminál a přihlaste se do systému jako nový uživatel vytvořený v kroku 2. Tento krok vám umožní otestovat, zda nový účet funguje správně.
Krok 5: Vyzkoušejte, zda můžete přepnout na účet root.
[administrator@administrator ~]$ su -
Zadejte root heslo k účtu a zkontrolujte, zda jste získali přístup root.
[root@root ~]# whoami root
Krok 6: Zakázat root přihlášení uživatele přes SSH.
[root@root ~]# vi /etc/ssh/sshd_config
Krok 7: Vyhledejte '#PermitRootLogin yes' . Ve výchozím nastavení root přihlášení je povoleno SSH.
Krok 8: Změňte '#PermitRootLogin yes' to 'PermitRootLogin no'
Krok 9: Uložte soubor a ukončete
Krok 10: Ujistěte se, že sshd_config neobsahuje žádné syntaktické chyby.
[root@root ~]# /usr/sbin/sshd -t [root@root ~]# echo $? 0
Výše uvedený výstup naznačuje, sshd_config nemá žádnou chybu syntaxe. V případě, že dojde k chybě, uvidíte nenulový výstup.
Krok 11: Chcete-li si přečíst novou změnu konfigurace, restartujte SSH.
# service sshd restart
Krok 12: Ujistěte se, že root přihlášení přes SSH je zakázáno.
ssh root@<ip-address>
Přístup by měl být odepřen i přes zadání platného hesla pro root uživatel. To znamená, že SSH odepřel přístup k root účet.
Krok 13: Přihlaste se jako neprivilegovaný uživatelský účet vytvořený v kroku 2.
Krok 14: V případě potřeby přepněte na root účet, jak je uvedeno níže:
[administrator@administrator ~]$ su -
A je to! Úspěšně jste zakázali root přihlášení do vzdáleného systému přes SSH.
Výše uvedené příkazy byly testovány na CentOS 7 a s OpenSSH_6.6.1p1