CH-J Server Managerserverhantering över SSH
Menyn
Alla guider och artiklar →

SSH-användare och root-åtkomst: säker konfiguration i Linux

Skapa ett administratörskonto, installera dess nyckel, testa sudo och begränsa först därefter root-inloggning utan att låsa dig ute.

Målet och stegens ordning

Administratörer bör logga in med nycklar på egna konton och använda sudo vid behov, eftersom det ger en logg över vem som gjorde vad och begränsar lösenordsgissning. Ordningen är viktig: få först den nya åtkomsten att fungera, testa den och begränsa root sist. Behåll åtkomst till leverantörens konsol om något går fel.

Skapa kontot och installera nyckeln

Skapa kontot, lägg till dess publika nyckel och ställ in strikta behörigheter, eftersom sshd ignorerar nyckelfiler som andra kan skriva till. Kopiera aldrig en privat nyckel till servern. På system i Red Hat-familjen använder du gruppen wheel i stället för 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

Testa från ett andra fönster

Låt den aktuella sessionen vara öppen och testa den nya inloggningen från en annan terminal. Gruppmedlemskap bevisar inte i sig att sudo fungerar, eftersom reglerna i sudoers avgör det. Bekräfta med sudo -l.

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

Begränsa root-inloggning

PermitRootLogin prohibit-password tillåter root endast med nyckel, och värdet no blockerar root helt via SSH. Lägg ändringen i en egen fil under /etc/ssh/sshd_config.d. För de flesta alternativ använder sshd det första värdet som hittas, så en tidigare fil kan få företräde. Kontrollera därför det effektiva värdet med sshd -T i stället för att läsa filerna. Testa en ny inloggning innan du stänger den gamla sessionen.

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) '

Lösenordsinloggning och vad du bör undvika

Stäng av PasswordAuthentication först när varje konto du behöver har en testad nyckel. Undvik att dela ett konto mellan flera personer, eftersom du då inte kan återkalla en persons åtkomst utan att påverka de andra. Lösenordsfri sudo för ett helt konto innebär också att enbart en stulen nyckel ger full kontroll.

Konton i CH-J Server Manager

Modulen Users hanterar konton, grupper, SSH-nycklar och SSH-åtkomst via en aktiv SSH-session. Den ändrar aldrig sudoers eller ställer in NOPASSWD och rapporterar det faktiska sudo-tillståndet från sudo -l. Kontot root kan inte tas bort, och att tillåta root-inloggning med lösenord kräver en extra bekräftelse, med enbart nyckel som rekommenderat val. En ändring av SSH-åtkomst verifieras med sshd -T och en ny SSH-inloggning, och den tidigare konfigurationen återställs automatiskt om kontrollen misslyckas eller du skulle låsas ute. Utan sudo är modulen skrivskyddad.

Detaljerad dokumentation

OpenSSH: sshd_config →

man: sudoers →

Biometrisk upplåsning och säkerhet →