CH-J Server ManagerSerververwaltung über SSH
Menü
Alle Anleitungen und Artikel →

SSH-Benutzer und root-Zugriff: Linux sicher einrichten

Administratorkonto anlegen, Schlüssel hinterlegen, sudo testen und erst danach die root-Anmeldung einschränken, ohne sich auszusperren.

Ziel und Reihenfolge der Schritte

Administratoren sollten sich mit Schlüsseln unter eigenen Konten anmelden und bei Bedarf sudo verwenden. So bleibt nachvollziehbar, wer was getan hat, und das Erraten von Passwörtern wird eingeschränkt. Die Reihenfolge zählt: Erst den neuen Zugang einrichten und testen, dann als letzten Schritt root einschränken. Halten Sie die Konsole des Anbieters für den Fehlerfall bereit.

Konto anlegen und Schlüssel hinterlegen

Legen Sie das Konto an, fügen Sie seinen öffentlichen Schlüssel hinzu und setzen Sie strenge Berechtigungen, denn sshd ignoriert Schlüsseldateien, die andere beschreiben können. Kopieren Sie niemals einen privaten Schlüssel auf den Server. Verwenden Sie auf Systemen der Red-Hat-Familie die Gruppe wheel statt 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

In einem zweiten Fenster testen

Lassen Sie die aktuelle Sitzung offen und testen Sie die neue Anmeldung in einem anderen Terminal. Eine Gruppenmitgliedschaft allein beweist nicht, dass sudo funktioniert, denn darüber entscheiden die Regeln in sudoers. Prüfen Sie es mit sudo -l.

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

root-Anmeldung einschränken

PermitRootLogin prohibit-password erlaubt root nur mit Schlüssel; no sperrt root über SSH vollständig. Speichern Sie die Änderung in einer eigenen Datei im Verzeichnis /etc/ssh/sshd_config.d. Bei den meisten Optionen verwendet sshd den ersten gefundenen Wert, daher kann eine frühere Datei Vorrang haben. Prüfen Sie deshalb den wirksamen Wert mit sshd -T, statt nur die Dateien zu lesen. Testen Sie eine neue Anmeldung, bevor Sie die alte Sitzung schließen.

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

Passwortanmeldung und typische Fehler

Deaktivieren Sie PasswordAuthentication erst, wenn jedes benötigte Konto einen getesteten Schlüssel hat. Teilen Sie ein Konto nicht mit mehreren Personen, da Sie sonst den Zugang einer Person nicht entziehen können, ohne die anderen zu betreffen. Passwortloses sudo für ein ganzes Konto bedeutet außerdem, dass ein gestohlener Schlüssel allein die volle Kontrolle ermöglicht.

Konten in CH-J Server Manager

Das Modul Users verwaltet Konten, Gruppen, SSH-Schlüssel und SSH-Zugriff über eine aktive SSH-Sitzung. Es ändert niemals sudoers und setzt kein NOPASSWD; den tatsächlichen sudo-Status ermittelt es mit sudo -l. Das Konto root kann nicht gelöscht werden. Die root-Anmeldung per Passwort zu erlauben erfordert eine zusätzliche Bestätigung; empfohlen wird die Anmeldung nur mit Schlüssel. Eine Änderung des SSH-Zugriffs wird mit sshd -T und einer neuen SSH-Anmeldung geprüft. Schlägt die Prüfung fehl oder würden Sie ausgesperrt, wird die vorherige Konfiguration automatisch wiederhergestellt. Ohne sudo ist das Modul schreibgeschützt.

Ausführliche Dokumentation

OpenSSH: sshd_config →

man: sudoers →

Biometrisches Entsperren und Sicherheit →