So aktivieren Sie den Root-SSH-Login unter Linux mit SSH-Schlüsseln

authorized_keysAktivieren Sie die SSH-Anmeldung für Root mit einem öffentlichen Schlüssel, indem Sie diesen zur Umgebungsvariablen `/etc/sshd_config` von Root hinzufügen PermitRootLogin prohibit-password, die OpenSSH-Konfiguration überprüfen und den Dienst neu laden. Dadurch kann sich Root per Schlüssel anmelden, während die Authentifizierung per Passwort und Tastaturinteraktion blockiert wird. Die Definitionen der Optionen finden Sie im Handbuch zu `sshd_config` von OpenSSH.

Ein Terminal, das über SSH als Administrator mit einem Linux-Server verbunden ist
Diese Terminalabbildung zeigt die Vertrauensabfrage; überprüfen Sie den tatsächlichen Host-Fingerabdruck über einen vertrauenswürdigen Kanal, bevor Sie ihn akzeptieren.

Direkter Root-Zugriff gewährt einem akzeptierten Schlüssel uneingeschränkte Kontrolle. Verwenden Sie ihn nur auf Systemen, die Sie selbst verwalten, und vorzugsweise hinter einem privaten Netzwerk oder einer Firewall. Melden Sie sich für Routinearbeiten als Benutzer mit einem Benutzernamen an und verwenden Sie die Root-Rechte sudo. Halten Sie Ihre aktuelle Sitzung offen und stellen Sie sicher, dass Sie einen alternativen Wiederherstellungspfad haben, bevor Sie die SSH-Einstellungen ändern.

Bevor Sie den SSH-Server bearbeiten

  • Stellen Sie eine Verbindung mit einem Konto her, das OpenSSH ausführen kann sudo, und vergewissern Sie sich, dass der OpenSSH-Server läuft.
  • Halten Sie ein Client-SSH-Schlüsselpaar bereit. Kopieren Sie den öffentlichen Schlüssel (normalerweise die Datei mit der Endung .ssh .pub); geben Sie niemals den privaten Schlüssel weiter.

Verwenden Sie kein Root-Passwort ausschließlich für schlüsselbasiertes SSH. Passwortschutz und Zugriff per öffentlichem Schlüssel sind separate Kontrollmechanismen, wobei die Richtlinien der Distribution die Anmeldung beeinflussen können. Im Benutzerverwaltungshandbuch von Ubuntu wird erläutert, dass das Sperren eines Passworts allein den bestehenden SSH-Schlüsselzugriff nicht deaktiviert.

Aktivieren Sie die schlüsselbasierte Root-SSH-Anmeldung.

1. Melden Sie sich als Ihr regulärer Administrator an.

Stellen Sie von einem Terminal auf Ihrem Client aus eine Verbindung mit dem Konto her, das bereits über sudo-Rechte verfügt:

ssh admin@server.example.com

Ersetzen Sie die Beispielwerte. Überprüfen Sie den neuen Host-Key-Fingerabdruck über einen vertrauenswürdigen Kanal, bevor Sie ihn akzeptieren.

2. Fügen Sie Ihren öffentlichen Schlüssel dem Root-Konto hinzu.

Erstellen Sie auf dem Server ein SSH-Verzeichnis für das Root-Benutzer mit eingeschränkten Berechtigungen und bearbeiten Sie anschließend die Liste der autorisierten Schlüssel:

sudo install -d -m 700 /root/.ssh
sudoedit /root/.ssh/authorized_keys

Fügen Sie den vollständigen öffentlichen Schlüssel in eine Zeile ein und speichern Sie die Datei. Fügen Sie niemals den privaten Schlüssel ein und behalten Sie alle vorhandenen Einträge bei. Beschränken Sie anschließend die Besitzrechte und Berechtigungen:

sudo chown -R root:root /root/.ssh
sudo chmod 700 /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys
Ein Terminaleditor öffnet sich in der Datei authorized_keys des Root-Benutzers, nachdem das Root-SSH-Verzeichnis erstellt wurde.
Fügen Sie den vollständigen öffentlichen Schlüssel als eine Zeile in die authorized_keys-Datei des Root-Verzeichnisses ein; der hier gezeigte Kurzschlüssel ist nur ein visueller Platzhalter.

3. Legen Sie die Root-Anmelderichtlinie fest.

Öffnen Sie die Serverkonfiguration mit einem Editor, zum Beispiel:

sudoedit /etc/ssh/sshd_config

Suchen Sie die aktive PermitRootLoginDirektive und ändern Sie sie wie folgt:

PermitRootLogin prohibit-password

Dies ist sicherer als PermitRootLogin yesdie Methode, die Root-Passwörter zulässt. Fügen Sie keine doppelten Anweisungen hinzu: OpenSSH verwendet den ersten gefundenen Wert, und Distributionen laden möglicherweise IncludeDateien. Bearbeiten Sie die aktive Einstellung und lassen Sie nicht benötigte Authentifizierungsoptionen unverändert.

Eine OpenSSH-Serverkonfiguration, bei der PermitRootLogin auf prohibit-password gesetzt ist
Die hervorgehobene Zeile steuert die Root-Authentifizierung; die anderen angezeigten Authentifizierungsoptionen sind separate Einstellungen und sollten Ihrer Richtlinie entsprechen.

4. Überprüfen Sie die Konfiguration, bevor Sie sie anwenden.

Zuerst auf Syntaxfehler prüfen:

sudo sshd -t

Keine Ausgabe bedeutet, dass die Syntaxprüfung erfolgreich war. Beheben Sie alle gemeldeten Fehler vor dem Neuladen. Überprüfen Sie den effektiven Wert mit:

sudo sshd -T | grep permitrootlogin

Bestätigen Sie die Ausgabe permitrootlogin prohibit-password. Falls nicht, überprüfen Sie die eingebundenen Dateien und die entsprechenden MatchBlöcke. Das SSHD-Handbuch definiert dies -tals Syntaxprüfung und -Tals Bericht über die effektive Konfiguration.

Ein Terminal, das die SSHD-Konfigurationsvalidierung ausführt und den effektiven Wert von PermitRootLogin ausgibt.
Führen Sie vor dem Anwenden der Änderungen den Befehl `sshd -t` aus und überprüfen Sie anschließend die effektive Root-Login-Einstellung.

5. Laden Sie den SSH-Dienst neu.

Verwenden Sie den Dienstnamen Ihrer Distribution. Ubuntu und Debian verwenden üblicherweise:

sudo systemctl reload ssh.service

Fedora, RHEL und viele andere Distributionen verwenden üblicherweise:

sudo systemctl reload sshd.service

Falls ein Neustart nicht unterstützt wird, verwenden Sie systemctl restartden passenden Dienstnamen und halten Sie Ihre ursprüngliche Sitzung geöffnet. Die OpenSSH-Anleitung von Ubuntu empfiehlt außerdem, sshd -tvor einem Neustart einen Befehl auszuführen.

Ein Linux-Terminal lädt den OpenSSH-Dienst unter Ubuntu oder Debian neu.
Laden Sie den SSH-Daemon neu, nachdem die Konfiguration die Syntaxprüfung bestanden hat; die Dienstnamen variieren je nach Distribution.

6. Testen Sie den Root-Zugriff von einem zweiten Terminal aus.

Öffnen Sie ein separates Terminal auf dem Client und geben Sie den privaten Schlüssel an, der zu dem installierten öffentlichen Schlüssel passt:

ssh -i ~/.ssh/id_ed25519 root@server.example.com

Ersetzen Sie den Schlüsselpfad und den Hostnamen. Überprüfen Sie die Eingabeaufforderung für den Hostschlüssel und stellen Sie sicher, dass die Sitzung als Root geöffnet wird. Falls der Test fehlschlägt, beheben Sie das Problem in der ursprünglichen Sitzung und lassen Sie diese geöffnet, bis der Zugriff wiederhergestellt ist.

Ein zweites Terminal öffnet erfolgreich eine SSH-Sitzung mit dem Root-Konto.
Testen Sie von einem neuen Client-Terminal aus mit dem passenden privaten Schlüssel, bevor Sie die Administratorsitzung schließen.

Fehlerbehebung bei verweigerter Root-Anmeldung

Prüfen Sie, ob Permission denied (publickey)der vollständige öffentliche Schlüssel vorhanden ist /root/.ssh/authorized_keysund der Client den zugehörigen privaten Schlüssel verwendet. Überprüfen Sie außerdem die Besitzverhältnisse und Berechtigungen.

sudo chown -R root:root /root/.ssh
sudo chmod 700 /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys

Überprüfen Sie außerdem den effektiven PermitRootLoginWert, AllowUsersdie DenyUsersRegeln, die Serverprotokolle und die Anmelde-Shell des Root-Benutzers. Vermeiden Sie es, die Einstellung yesvorschnell zu ändern, da dies die zulässigen Authentifizierungsmethoden des Root-Benutzers erweitern kann.

Ein Linux-Terminal korrigiert Besitzverhältnisse und restriktive Berechtigungen für Root-SSH-Schlüsseldateien
Das SSH-Verzeichnis von Root sollte dem Benutzer root gehören, mit den Berechtigungen 700 für das Verzeichnis und 600 für authorized_keys.

Deaktivieren Sie die SSH-Anmeldung für Root-Benutzer, wenn Sie sie nicht mehr benötigen.

Um den direkten Root-SSH-Zugriff zu deaktivieren, ändern Sie die aktive Direktive wie folgt:

PermitRootLogin no

Starten sudo sshd -tund laden Sie den entsprechenden Dienst neu. Dadurch wird der direkte SSH-Zugriff für Root blockiert, während das Administratorkonto weiterhin verfügbar bleibt. Eine Passwortsperre allein verhindert möglicherweise nicht die Anmeldung mit dem öffentlichen Schlüssel von Root.

Die OpenSSH-Serverkonfiguration wurde auf „PermitRootLogin no“ gesetzt, gefolgt von Validierungs- und Service-Reload-Befehlen.
Setzen Sie PermitRootLogin auf „Nein“, validieren Sie die Daten und laden Sie die Seite neu. Die anderen angezeigten Authentifizierungsoptionen sind separat und für diese Änderung, die nur für Root-Benutzer gilt, nicht erforderlich.

Für Details konsultieren Sie bitte das OpenSSH-Konfigurationshandbuch und die Ubuntu Server SSH-Dokumentation.

Einen Kommentar hinterlassen

Wie man QR-Codes auf einem Linux-Desktop scannt

Wie man QR-Codes auf einem Linux-Desktop scannt

Scannen Sie QR-Codes unter Linux mit CoBang mithilfe einer Webcam oder einer Bilddatei. Informationen zu Installationsoptionen, Einrichtungsschritten und Lösungen für den Kamerazugriff über Flatpak finden Sie hier.

So ändern Sie die Webcam-Einstellungen unter Linux mit Cameractrls

So ändern Sie die Webcam-Einstellungen unter Linux mit Cameractrls

Ändern Sie die Webcam-Einstellungen unter Linux mit Cameractrls: Optimieren Sie Belichtung, Farbe, Flimmerreduzierung und andere unterstützte Steuerelemente und prüfen Sie anschließend die kompatiblen Videomodi.

So installieren Sie PhpStorm unter Linux: Toolbox, Tar.gz, Snap und AUR

So installieren Sie PhpStorm unter Linux: Toolbox, Tar.gz, Snap und AUR

Installieren Sie PhpStorm unter Linux mit der JetBrains Toolbox oder dem eigenständigen tar.gz-Archiv, zusätzlich zu den Snap- und Arch-AUR-Optionen. Java ist bereits enthalten.

Wie man unter Linux mit GIMP ein Bild ausschneidet

Wie man unter Linux mit GIMP ein Bild ausschneidet

Unter Linux mit GIMP den Fotohintergrund entfernen: Motiv nachzeichnen, ausgewählten Hintergrund löschen, Transparenz beibehalten und wiederverwendbare PNG-Datei exportieren.

So richten Sie Dual-Panels unter XFCE 4 ein

So richten Sie Dual-Panels unter XFCE 4 ein

Erstellen Sie für jeden Bildschirm ein separates XFCE 4-Panel, weisen Sie das zweite Panel dem richtigen Ausgang zu, positionieren und skalieren Sie es und fügen Sie die benötigten Launcher und Statusanzeigen hinzu.

So installieren Sie Cisco Packet Tracer unter Linux

So installieren Sie Cisco Packet Tracer unter Linux

Laden Sie Cisco Packet Tracer 9.0.1 für Ubuntu 64-Bit herunter, installieren Sie das DEB-Paket mit APT, akzeptieren Sie die Lizenz im Terminal und melden Sie sich an, um ein Lab zu starten.

Wie man eine CD-ROM unter Linux als ISO-Datei sichert

Wie man eine CD-ROM unter Linux als ISO-Datei sichert

Erstellen Sie unter Linux mit GNOME Disks oder dd ein CD-ROM-ISO. Identifizieren Sie das optische Laufwerk, überwachen Sie den Kopiervorgang, überprüfen Sie das Image und erkennen Sie, wann eine beschädigte oder Audio-Disc ein anderes Tool benötigt.

FlightGear kostenlos herunterladen: Offizielle Installationsanleitung

FlightGear kostenlos herunterladen: Offizielle Installationsanleitung

Laden Sie FlightGear kostenlos von der offiziellen Website herunter. Vergleichen Sie die Pakete für Windows, macOS und Linux, installieren Sie die Datendateien und starten Sie Ihren ersten Flug.

Google Tasks Desktop-Anwendung: So verwenden Sie sie auf einem Computer

Google Tasks Desktop-Anwendung: So verwenden Sie sie auf einem Computer

Öffnen Sie Google Tasks in einem Browser, fügen Sie eine Chrome-Verknüpfung oder einen App-ähnlichen Start hinzu und verwalten Sie terminierte Aufgaben über Kalender und Gmail.

OKSampler: Ein kostenloser, einfacher Musik-Sampler für Keyboard-Beats

OKSampler: Ein kostenloser, einfacher Musik-Sampler für Keyboard-Beats

OKSampler ordnet MP3-Dateien Tastaturtasten zu und ermöglicht Audioschleifen. Erfahren Sie, was die ältere Freeware kann, wo ihre alten Funktionen enden und worauf Sie vor dem Herunterladen achten sollten.