CH-J Server Managerspráva serverov nad SSH
Menu
Všetky návody a články →

Používatelia SSH a prístup root: bezpečné nastavenie v Linuxe

Vytvorte účet správcu, nainštalujte jeho kľúč, otestujte sudo a až potom obmedzte prihlasovanie root bez straty vlastného prístupu.

Cieľ a poradie krokov

Správcovia by sa mali prihlasovať kľúčmi pod vlastnými účtami a podľa potreby používať sudo, pretože tak zostáva záznam o tom, kto čo vykonal, a obmedzuje sa hádanie hesiel. Na poradí záleží: najprv sprevádzkujte nový prístup, otestujte ho a root obmedzte až nakoniec. Pre prípad problémov si ponechajte prístup ku konzole poskytovateľa.

Vytvorte účet a nainštalujte kľúč

Vytvorte účet, pridajte jeho verejný kľúč a nastavte prísne oprávnenia, pretože sshd ignoruje súbory s kľúčmi, do ktorých môžu zapisovať iní. Súkromný kľúč nikdy nekopírujte na server. V systémoch rodiny Red Hat použite skupinu wheel namiesto sudo.

sudo adduser admin1
sudo usermod -aG sudo admin1
sudo install -d -m 700 -o admin1 -g admin1 /home/admin1/.ssh
sudo install -m 600 -o admin1 -g admin1 ~/admin1.pub /home/admin1/.ssh/authorized_keys

Otestujte prístup z druhého okna

Aktuálnu reláciu nechajte otvorenú a nové prihlásenie otestujte z iného terminálu. Samotné členstvo v skupine nedokazuje, že sudo funguje, pretože o tom rozhodujú pravidlá v sudoers. Overte to príkazom sudo -l.

ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 admin1@server.example
sudo -l
sudo -v

Obmedzte prihlasovanie root

PermitRootLogin prohibit-password povoľuje root iba s kľúčom a hodnota no úplne blokuje root cez SSH. Zmenu vložte do samostatného súboru v /etc/ssh/sshd_config.d. Pri väčšine volieb sshd používa prvú nájdenú hodnotu, takže skorší súbor môže mať prednosť. Účinnú hodnotu preto overte príkazom sshd -T, nie iba čítaním súborov. Pred zatvorením starej relácie otestujte nové prihlásenie.

echo 'PermitRootLogin no' | sudo tee /etc/ssh/sshd_config.d/50-root.conf
sudo sshd -t
sudo systemctl reload ssh
sudo sshd -T | grep -iE '^(permitrootlogin|passwordauthentication) '

Prihlasovanie heslom a čomu sa vyhnúť

PasswordAuthentication vypnite až vtedy, keď má každý potrebný účet otestovaný kľúč. Nezdieľajte jeden účet medzi viacerými ľuďmi, pretože potom nemôžete odobrať prístup jednej osobe bez vplyvu na ostatných. sudo bez hesla pre celý účet navyše znamená, že samotný ukradnutý kľúč dáva úplnú kontrolu.

Účty v CH-J Server Manager

Modul Users spravuje účty, skupiny, kľúče SSH a prístup SSH cez aktívnu reláciu SSH. Nikdy nemení sudoers ani nenastavuje NOPASSWD a hlási skutočný stav sudo podľa sudo -l. Účet root nemožno odstrániť a povolenie prihlasovania root heslom vyžaduje dodatočné potvrdenie, pričom odporúčanou voľbou je iba kľúč. Zmena prístupu SSH sa overuje pomocou sshd -T a nového prihlásenia SSH; ak kontrola zlyhá alebo by ste stratili prístup, automaticky sa obnoví predchádzajúca konfigurácia. Bez sudo je modul iba na čítanie.

Podrobná dokumentácia

OpenSSH: sshd_config →

man: sudoers →

Biometrické odomknutie a bezpečnosť →