So beschränken Sie SSH-Benutzer auf bestimmte Verzeichnisse unter Ubuntu 24.04 (SFTP Chroot-Anleitung)

Einem externen Dienstleister Zugriff auf das Hochladen einiger weniger Dateien zu gewähren, sollte ihm nicht automatisch eine Terminal-Sitzung mit Einblick in den gesamten Server ermöglichen. Unter Ubuntu 24.04 LTS kann OpenSSH mithilfe einer ChrootDirectoryRegel und des integrierten internal-sftpServers ein Dateitransfer-Konto auf ein bestimmtes Verzeichnis beschränken. Wichtig ist hierbei, dass es sich um eine reine SFTP-Beschränkung handelt und nicht um eine einfache Möglichkeit, eine voll funktionsfähige, aber eingeschränkte Bash-Shell bereitzustellen.

Diese Anleitung erklärt, welche Funktionen die Einstellungen tatsächlich schützen, und führt anschließend durch eine reversible, achtstufige Einrichtung für mehrere Benutzerkonten mit jeweils eigenem Verzeichnis. Die Befehle verwenden ein Beispielkonto contractorund einen Beispielhost server.example.com; ersetzen Sie diese durch Ihre eigenen Werte. Es handelt sich hierbei um Konfigurationsbeispiele, nicht um bestätigte Ergebnisse eines Live-Servertests.

Welche Art von Einschränkung benötigen Sie tatsächlich?

Drei Steuerungselemente werden oft verwechselt. Linux-Berechtigungen legen fest, welche Dateien ein Benutzerkonto lesen oder ändern darf; das Ändern des Home-Verzeichnisses eines Benutzerkontos definiert dessen anfänglichen Speicherort; ein chroot ändert das Dateisystem-Root-Verzeichnis, das einem Prozess präsentiert wird. Diese drei Begriffe sind nicht austauschbar.

ZielGeeigneter AusgangspunktWichtige Einschränkung
Hochladen und Herunterladen nur innerhalb eines dafür vorgesehenen OrdnersChrootDirectorymitForceCommand internal-sftpBietet keine interaktive Linux-Shell
Erlaube eine Shell, aber kontrolliere das Lesen und Schreiben.Unix-Besitzverhältnisse, Gruppen, ACLs und das Prinzip der minimalen BerechtigungenEin normaler Shell-Benutzer kann weiterhin andere lesbare Pfade durchlaufen.
Stellen Sie eine isolierte Befehlszeilenumgebung bereit.Ein sorgfältig eingerichtetes Chroot oder ein Container/eine VM mit separaten SicherheitskontrollenErfordert deutlich mehr Aufwand bei der Einrichtung und Isolationsprüfung.

Irrtum: Die Festlegung /home/contractoreines Home-Verzeichnisses schränkt den Benutzer darin ein. Das ist nicht der Fall. Ein normaler Shell-Benutzer kann in jedes erreichbare Verzeichnis im Dateisystem wechseln. Wenn der Dateiaustausch tatsächlich erforderlich ist, wählen Sie die unten beschriebene reine SFTP-Methode, anstatt zu versuchen, Verzeichnisse über die Shell-Eingabeaufforderung auszublenden.

OpenSSH-Dokumente ChrootDirectory, Match, und ForceCommandim offiziellen Ubuntu 24.04 sshd_config-Handbuch .

Richten Sie in acht Schritten ein reines SFTP-Verzeichnis-Jail ein.

Bevor Sie SSH remote ändern, lassen Sie Ihre bestehende Administrator-Sitzung geöffnet und stellen Sie sicher, dass Sie Konsolen- oder Wiederherstellungszugriff haben. Verwenden Sie für Übertragungen ein separates Konto ohne Administratorrechte; fügen Sie Ihr Administratorkonto nicht der eingeschränkten Gruppe hinzu.

1. Überprüfen Sie OpenSSH und halten Sie eine Wiederherstellungssitzung aufrecht.

Installieren Sie gegebenenfalls OpenSSH auf dem Server, überprüfen Sie den Dienst und speichern Sie die Hauptkonfiguration. Die offizielle Serverdokumentation von Ubuntu unterstützt diese Dienst- und Konfigurationspfade.

sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh
sudo cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.pre-sftp
Ubuntu-Terminal mit Ausgabe des Befehls `systemctl status ssh` und Details zum SSH-Dienst
Eine Terminalansicht des SSH-Dienststatus, nützlich, um zu überprüfen, ob OpenSSH verfügbar ist, bevor Zugriffsregeln geändert werden.

Wenn Sie den Rechner nur über SSH verwalten können, schließen Sie die aktuelle Sitzung während der Bearbeitung oder des Testens nicht. Lesen Sie die Konfigurationsanleitung für den Ubuntu OpenSSH-Server, bevor Sie Änderungen am Daemon vornehmen.

2. Erstellen Sie einen dedizierten Benutzer und eine SFTP-Zugriffsgruppe.

Eine Gruppe ist sinnvoll, wenn mehrere eingeschränkte Konten erwartet werden. In diesem Beispiel erhält jedes Mitglied mithilfe des %uTokens, das OpenSSH zum Benutzernamen der Verbindung auflöst, eine separate Umgebung. Das /uploadHome-Verzeichnis soll sich innerhalb des zukünftigen Chroot-Verzeichnisses befinden; erstellen Sie daher kein /uploadVerzeichnis auf Host-Ebene.

sudo groupadd sftpclients
sudo adduser --home /upload --no-create-home --shell /usr/sbin/nologin contractor
sudo usermod -aG sftpclients contractor
id contractor

Der adduserAblauf kann Sie zur Vergabe eines Passworts auffordern. Bei Installationen, die die SSH-Passwortauthentifizierung deaktivieren, erstellen und autorisieren Sie stattdessen einen öffentlichen Schlüssel. Aktivieren Sie die Passwortanmeldung nicht global, nur um einem Beispiel zu folgen. Die nologinShell stellt eine zusätzliche Sicherheitsmaßnahme dar, aber der erzwungene internal-sftpBefehl bewirkt, dass diese Konfiguration nur für die Übertragung gilt. Testen Sie die Kombination mit Ihrer eigenen Authentifizierungsumgebung.

Das Ubuntu-Terminal zeigt die Erstellung des Auftragnehmer-Kontos durch den Befehl „adduser“ an, wobei der Home-Pfad auf „upload“ gesetzt ist.
Der Befehl zur Kontoerstellung legt das eingeschränkte Konto und einen Home-Pfad fest, der nach der Anwendung des chroot verfügbar sein wird.

3. Erstellen Sie ein Chroot-Verzeichnis mit Root-Rechten.

Hier liegt der Fehler vieler Anleitungen. OpenSSH erfordert, dass alle Komponenten des Chroot-Pfads dem Benutzer root gehören und von anderen Benutzern oder Gruppen nicht beschreibbar sind. Das Jail-Root-Verzeichnis selbst darf niemals vom SFTP-Konto beschreibbar gemacht werden.

sudo install -d -o root -g root -m 0755 /srv/sftp
sudo install -d -o root -g root -m 0755 /srv/sftp/contractor
namei -l /srv/sftp/contractor

Prüfen Sie auch die vorhandenen /Komponenten /srv; die obigen Befehle beheben unsichere Berechtigungen des übergeordneten Elements nicht automatisch. Wenn eine Komponente für eine Gruppe beschreibbar oder im Besitz eines Benutzers ist, korrigieren Sie deren Besitzverhältnisse und Modus erst, nachdem Sie geprüft haben, ob andere Anwendungen davon abhängen.

Ubuntu-Terminal zeigt die dem Root-Benutzer gehörenden Verzeichnisse /srv/sftp und /srv/sftp/contractor mit ihren Berechtigungen an.
Das Jail-Verzeichnis und sein übergeordnetes Verzeichnis werden mit Root-Rechten angezeigt, eine Bedingung, die von OpenSSH beim Sitzungsstart überprüft wird.

4. Fügen Sie ein beschreibbares Unterverzeichnis innerhalb des Jails hinzu.

Das Konto kann in ein Unterverzeichnis schreiben, ohne das Chroot-Root-Verzeichnis ändern zu dürfen. Erstellen Sie ein /srv/sftp/contractor/uploadVerzeichnis für die eigentlichen Dateien des Kontos; innerhalb von SFTP wird dieses als . angezeigt /upload.

sudo install -d -o contractor -g contractor -m 0750 /srv/sftp/contractor/upload
sudo stat -c '%U:%G %a %n' /srv/sftp/contractor /srv/sftp/contractor/upload

Die erwarteten Besitzverhältnisse unterscheiden sich bewusst: root:rootfür das Jail-Root-Verzeichnis und contractor:contractorfür den beschreibbaren Upload-Ordner. Vermeiden Sie die Verwendung von `/etc//` chmod 777, da dies unnötige Risiken birgt und bei Anwendung auf das Jail-Root-Verzeichnis abgelehnt würde.

Ubuntu-Terminal, das einen separaten, vom Auftragnehmer verwalteten Upload-Ordner unter dem vom Root verwalteten SFTP-Jail anzeigt
Das Upload-Unterverzeichnis ist für das eingeschränkte Konto beschreibbar, während das umschließende Jail weiterhin dem Benutzer root gehört.

5. Fügen Sie eine Match-Regel zu sshd_config hinzu.

Öffnen Sie /etc/ssh/sshd_configden folgenden Block und fügen Sie ihn am Ende, nach allen vorhandenen Direktiven und MatchBlöcken, ein. Verwenden Sie dazu einen Texteditor wie z. B. sudoedittsd oder cd sudo nano. Überprüfen Sie Matchvorher die vorhandenen Regeln: Weisen mehrere übereinstimmende Blöcke dasselbe Schlüsselwort zu, verwendet OpenSSH die erste zutreffende Instanz. Ubuntu verarbeitet außerdem Dateien /etc/ssh/sshd_config.d/aus einem frühen .conf- Verzeichnis Include; die dort geltenden Regeln können die Priorität beeinflussen.

Match Group sftpclients
    ChrootDirectory /srv/sftp/%u
    ForceCommand internal-sftp -d /upload
    PermitTTY no
    DisableForwarding yes

Match GroupZielt auf Mitglieder von sftpclients. ChrootDirectoryplatziert jeden Benutzer unter /srv/sftp/USERNAME. ForceCommand internal-sftp -d /uploadFührt einen SFTP-Dienst im Prozess aus und startet im beschreibbaren Verzeichnis. PermitTTY noVerhindert die Terminalzuweisung, während DisableForwarding yesSSH-Weiterleitungsfunktionen für übereinstimmende Verbindungen deaktiviert werden.

Behalten Sie die Subsystem sftpvon Ubuntu bereitgestellte globale Direktive bei, es sei denn, Sie haben einen triftigen Grund, sie zu ändern. Der erzwungene interne SFTP-Befehl erfordert keine Änderung dieser globalen Zeile. Fügen Sie keine zusätzliche globale Direktive hinzu, Match Allnur um einen Block abzuschließen, ohne die Auswirkungen zu verstehen.

Der GNU-Nano-Editor zeigt eine Match-Group-SFTP-Regel mit den Einstellungen ChrootDirectory und ForceCommand an.
Ein bedingter OpenSSH-Konfigurationsblock fasst die Verzeichnisbeschränkung und den SFTP-only-Befehl zusammen.

6. Überprüfen Sie die Syntax und die effektiven Einstellungen vor dem Neuladen.

Ein erfolgreicher Parsing-Vorgang beweist weder die Korrektheit der Jail-Berechtigungen noch, dass das vorgesehene Konto den Richtlinien entspricht. Führen Sie beide Prüfungen explizit durch.

sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T -C user=contractor,host=localhost,addr=192.0.2.10 | grep -E '^(chrootdirectory|forcecommand|permittty|disableforwarding) '
namei -l /srv/sftp/contractor

Die korrekte Konfiguration sollte den vorgesehenen Chroot-Pfad, den erzwungenen SFTP-Befehl, die deaktivierte TTY-Zuweisung und Weiterleitungsbeschränkungen enthalten. Die Beispieladresse 192.0.2.10dient nur der Dokumentation; falls Sie adressabhängige MatchRegeln verwenden, ersetzen Sie diese durch die tatsächliche Client-Quelladresse. Die -T -CVorgehensweise ist im Ubuntu 24.04 sshd-Handbuch dokumentiert .

Schlägt die Validierung fehl, korrigieren Sie die Konfiguration, bevor Sie SSH neu laden. Sind die effektiven Werte unerwartet, überprüfen Sie die enthaltenen Codeabschnitte und die Reihenfolge der vorhandenen Bedingungsblöcke, nicht nur die zuletzt bearbeiteten Zeilen.

7. Laden Sie SSH neu und behalten Sie Ihren Administratorzugriff bei.

Nach erfolgreichen Prüfungen laden Sie den SSH-Dienst neu, damit neue Verbindungen die geänderte Richtlinie verwenden. Lassen Sie die bestehende Administratorverbindung aktiv und öffnen Sie ein zweites Terminal, um zu überprüfen, ob der normale Administratorzugriff weiterhin funktioniert.

sudo systemctl reload ssh
sudo systemctl status ssh --no-pager
Ubuntu-Terminal, das SSH-Dienststeuerungsbefehle und den Status eines aktiven SSH-Dienstes anzeigt
Das Fenster zur SSH-Dienstverwaltung veranschaulicht die Überprüfung des Dienstzustands nach einer Konfigurationsänderung.

Ein vollständiger Neustart kann die Änderungen ebenfalls anwenden, ein Neuladen ist jedoch vorzuziehen, sofern dies unterstützt wird und Sie unnötige Unterbrechungen vermeiden möchten. Die Ausgabe von Dienstbefehlen und Protokollmeldungen variiert je nach Host. Überprüfen Sie daher das tatsächliche Ergebnis, anstatt anzunehmen, dass eine erfolgreiche Rückkehr zur Eingabeaufforderung den Zugriff garantiert.

8. Testen Sie erlaubte Transfers und blockierte Shell-Zugriffe.

Stellen Sie von einem anderen Computer aus eine Verbindung als eingeschränkter Benutzer her. Verwenden Sie den tatsächlichen Hostnamen des Servers und eine geeignete Testdatei. Das erste SFTP-Verzeichnis sollte `<server-root>` lauten , und das Chroot-Root-Verzeichnis sollte als `<server-root>` und nicht als Hostpfad /uploadangezeigt werden .//srv/sftp/contractor

sftp contractor@server.example.com
sftp> pwd
sftp> cd /
sftp> ls
sftp> cd /upload
sftp> put sample.txt
sftp> cd /etc
sftp> exit

Das Hochladen einer harmlosen Testdatei sollte erlaubt sein /upload. Der Zugriff auf das eigentliche Stammverzeichnis des Hosts /etcsollte nicht möglich sein: Das Chroot definiert ein anderes Stammverzeichnis und /etcwäre nur dann zugänglich, wenn Sie ein solches Verzeichnis absichtlich innerhalb des Jails erstellt oder freigegeben hätten. Der genaue Fehlertext des Clients ist nicht wichtig.

SFTP-Terminalsitzung mit Anzeige eines virtuellen Stammverzeichnisses, eines Upload-Ordners und eines Navigationsversuchs
Die SFTP-Befehlszeile veranschaulicht das Durchsuchen eines begrenzten Dateisystems anstelle des Host-Dateisystems.
ssh contractor@server.example.com

Für dieses Konto darf keine reguläre interaktive SSH-Shell geöffnet werden. Stattdessen kann die Verbindung geschlossen werden oder eine protokollbezogene Meldung angezeigt werden; verlassen Sie sich nicht auf den genauen Wortlaut. Falls sich eine Shell öffnet, betrachten Sie die Konfiguration als unsicher und überprüfen Sie die Gruppenzugehörigkeit, Matchdie Priorität und die effektive sshd -T -CAusgabe, bevor Sie das Konto verwenden.

Das Ubuntu-Terminal zeigt einen SSH-Verbindungsversuch an, der sich schließt, anstatt eine interaktive Shell anzuzeigen.
Ein Terminalverbindungsversuch veranschaulicht die Shell-Zugriffsprüfung, die nach der Aktivierung der SFTP-Beschränkungen durchgeführt wird.

Was passiert, wenn Sie öffentliche SSH-Schlüssel verwenden?

Die Public-Key-Authentifizierung funktioniert mit einem SFTP-Jail, aber wenn das Home-Verzeichnis eines Benutzers auf Host-Ebene auf /upload„“ gesetzt wird, existiert der Standardpfad ~/.ssh/authorized_keysmöglicherweise nicht außerhalb des Jails. Eine praktische Alternative ist, SSH eine vom Root-Benutzer kontrollierte Schlüsseldatei lesen zu lassen, bevor das Chroot gestartet wird. Fügen Sie dies im selben Match Group sftpclientsBlock hinzu, wenn Sie eine zentrale Schlüsselspeicherung wählen:

    AuthorizedKeysFile /etc/ssh/authorized_keys/%u

Erstellen Sie anschließend /etc/ssh/authorized_keys/contractoreine Datei, die den autorisierten öffentlichen Schlüssel des Auftragnehmers enthält, mit Root-Rechten und ohne Schreibberechtigungen für Gruppen oder die gesamte Welt. Zum Beispiel nach dem sicheren Kopieren einer geprüften Datei mit dem Namen „publickey.css“ contractor.pubin ein administratives Staging-Verzeichnis:

sudo install -d -o root -g root -m 0755 /etc/ssh/authorized_keys
sudo install -o root -g root -m 0644 contractor.pub /etc/ssh/authorized_keys/contractor
sudo /usr/sbin/sshd -t

Kopieren Sie keinen privaten Schlüssel auf den Server. Die Einstellungen für den Schlüsselpfad, die Standardeinstellungen für die Authentifizierung und die Kontoprüfungen hängen von Ihrer bestehenden SSH-Richtlinie ab; überprüfen Sie den Zugriff mit dem öffentlichen Schlüssel, bevor Sie eine bereits funktionierende Authentifizierungsmethode deaktivieren.

Häufige Fehler und ihre Bedeutung

SymptomWahrscheinlichste UrsacheNächste Prüfung
SFTP trennt die Verbindung unmittelbar nach der Authentifizierung.Eine Komponente des Chroot-Pfads ist beschreibbar oder gehört nicht dem Root-Benutzer; alternativ fehlt das erforderliche Startverzeichnis.Führen Sie die Serviceprotokolle aus namei -l /srv/sftp/contractor, prüfen Sie sie und analysieren Sie sie./upload
Der Benutzer verbindet sich, kann aber nichts hochladen.Das beschreibbare Unterverzeichnis hat den falschen Besitzer oder Modus.Überprüfen Sie statdie Ausgabe des Upload-Unterverzeichnisses; ändern Sie nicht das Jail-Root-Verzeichnis in Benutzerbesitz.
Die SSH-Shell ist weiterhin geöffnetGruppenkonflikt oder eine zuvor anwendbare SSH-RegelLauf id contractorundsshd -T -C
Anmeldung mit öffentlichem Schlüssel abgelehntDie autorisierte Schlüsseldatei befindet sich nicht im konfigurierten Pfad oder ihre Berechtigungen werden nicht geprüft.Überprüfen Sie AuthorizedKeysFiledie Schlüsselplatzierung, die Dateibesitzverhältnisse und das SSH-Protokoll.
Ein älterer SCP-Client schlägt fehl.Es erwartet das ältere SCP-Protokoll, das eine Remote-Shell benötigt.Verwenden Sie SFTP oder einen SCP-Client, der SFTP verwendet, nichtscp -O

Überprüfen Sie die Protokolle sudo journalctl -u ssh -n 80 --no-pager. Der genaue Fehler hängt von den PAM-Einstellungen, der SSH-Konfiguration, dem Dateisystemzugriff und der Authentifizierungsmethode ab. OpenSSH 9.0 und neuer verwenden scpstandardmäßig SFTP für Standardübertragungen, während der Legacy-Modus eine Shell erfordert, wie im Ubuntu 24.04 scp-Handbuch beschrieben .

Kann man eine interaktive SSH-Shell auf einen einzigen Ordner beschränken?

Nicht mit einer Änderung des Home-Verzeichnisses oder dem oben genannten Beispiel mit reinem SFTP. OpenSSH ChrootDirectorykann zwar auch für Shell-Sitzungen verwendet werden, die Jail muss jedoch eine nutzbare Shell, die zugehörigen Bibliotheken, die benötigten Geräteknoten und alle Befehlsabhängigkeiten enthalten. Für eine sichere Einrichtung dieser Umgebung reicht es nicht aus, nur eine Zeile in der Konfigurationsdatei festzulegen sshd_config. Es ist leicht, eine instabile oder irreführende Konfiguration zu erstellen, insbesondere wenn beliebige Shell-Befehle oder Mounts verwendet werden.

Benötigt ein Benutzer interaktive Befehle, muss zunächst genau festgelegt werden, welche Befehle und Dateien er benötigt. Für einen kleinen Befehlssatz empfiehlt sich die Verwendung von eng definierten Remote-Befehlen oder eines dedizierten Anwendungsendpunkts. Für größere, unabhängige Umgebungen ist ein Container oder eine virtuelle Maschine mit expliziten Dateisystem-Mounts, Berechtigungssteuerung und Netzwerkbeschränkungen ratsam. Ein Chroot allein ersetzt keine vollständige Systemisolation, und weder Chroot noch Unix-Dateiberechtigungen schützen vor einem privilegierten Benutzer, der das zugrundeliegende System verändern kann.

Sicherheitscheckliste vor der Zugriffsgewährung

  • Das Transferkonto ist kein Administratorkonto und gehört nur zu den erforderlichen Gruppen.
  • Jede Komponente, die zum Gefängnis führt, ist im Besitz des Root-Benutzers und kann weder von der Gruppe noch von der gesamten Benutzeroberfläche beschrieben werden.
  • Der beschreibbare Upload-Speicherort befindet sich innerhalb des Jails, nicht im Jail-Root-Verzeichnis selbst.
  • Der vorgesehene Benutzer stimmt überein ChrootDirectory, ForceCommand internal-sftpund die Weiterleitung wurde in der effektiven Konfiguration deaktiviert.
  • Ein SFTP-Upload gelingt, der Versuch, auf schreibgeschützte Dateien zuzugreifen, schlägt fehl, und der normale SSH-Shell-Zugriff wird blockiert.
  • Datensicherung, Aufbewahrung, Quoten, Überwachung und Kontosperrung werden separat verwaltet; ein Directory Jail implementiert diese Richtlinien nicht automatisch.

Weitere technische Details finden Sie in der Ubuntu 24.04 OpenSSH-Konfigurationsreferenz und im Ubuntu SFTP-Serverhandbuch . Diese Anleitung bezieht sich auf Ubuntu 24.04 LTS; Paketkompilationen und vorhandene SSH-Snippets können das Verhalten verändern. Maßgeblich sind daher die Konfiguration und tatsächliche Verbindungstests auf Ihrem eigenen Rechner.

Einen Kommentar hinterlassen

Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln

Pi-hole Upstream-DNS auf Ubuntu Server 24.04 verschlüsseln

Richten Sie dnscrypt-proxy als lokale DoH-Bridge für Pi-hole unter Ubuntu 24.04 ein, mit einem Listener nur für localhost, Resolver-Auswahl und Prüfungen vor dem DNS-Wechsel.

Ubuntu 24.04 Touchpad-Gesten unter Wayland zum Laufen bringen

Ubuntu 24.04 Touchpad-Gesten unter Wayland zum Laufen bringen

Bevor Sie Probleme mit Apps oder Hardware beheben, sollten Sie die Touchpad-Einstellungen von Ubuntu überprüfen, Wayland bestätigen und die in GNOME integrierten Wischgesten testen.

Erstellen Sie ein Debian 12 RAID 1-Mirror mit mdadm

Erstellen Sie ein Debian 12 RAID 1-Mirror mit mdadm

Erstellen und überprüfen Sie ein Debian 12 RAID 1-Datenarray mit zwei Festplatten, formatieren Sie es sicher und konfigurieren Sie es so, dass es nach einem Neustart zusammengebaut und eingebunden wird.

Verschlüsseln Sie die Debian 12 Swap-Partition bei jedem Systemstart mit einem neuen Schlüssel.

Verschlüsseln Sie die Debian 12 Swap-Partition bei jedem Systemstart mit einem neuen Schlüssel.

Richten Sie die Zufallsschlüsselverschlüsselung für eine bestehende Debian 12 Swap-Partition ein, überprüfen Sie die aktive dm-crypt-Zuordnung und verstehen Sie den Kompromiss beim Ruhezustand.

So beschränken Sie SSH-Benutzer auf bestimmte Verzeichnisse unter Ubuntu 24.04 (SFTP Chroot-Anleitung)

So beschränken Sie SSH-Benutzer auf bestimmte Verzeichnisse unter Ubuntu 24.04 (SFTP Chroot-Anleitung)

Beschränken Sie Ubuntu 24.04 SSH-Konten auf bestimmte SFTP-Ordner mit chroot, korrekten Berechtigungen, Match-Regeln und sicheren Tests – ohne Shell-Zugriff zu gewähren.

Die APT-Sperre von Ubuntu sicher aufheben und das Update abschließen

Die APT-Sperre von Ubuntu sicher aufheben und das Update abschließen

Ermitteln Sie, welcher Prozess die dpkg-Frontend-Sperre von Ubuntu besitzt, lassen Sie die Paketverarbeitung abschließen und reparieren Sie unterbrochene Installationen, ohne Sperrdateien zu löschen.

Wie man automatisierte Btrfs-Snapshots auf Ubuntu Desktop einrichtet

Wie man automatisierte Btrfs-Snapshots auf Ubuntu Desktop einrichtet

Richten Sie mit Timeshift geplante Btrfs-System-Snapshots auf Ubuntu Desktop ein, überprüfen Sie das Ubuntu-Subvolume-Layout, wählen Sie die Aufbewahrungsdauer und verstehen Sie, was Snapshots nicht schützen können.

Wie man Debian 12 auf Testing migriert, ohne Abhängigkeiten zu beschädigen

Wie man Debian 12 auf Testing migriert, ohne Abhängigkeiten zu beschädigen

Planen Sie eine sicherere Migration von Debian 12 zu Testing: Führen Sie ein Upgrade über Stable durch, erstellen Sie ein Backup, bereinigen Sie die APT-Quellen, simulieren Sie Abhängigkeitsänderungen und überprüfen Sie, was sich geändert hat.

Ubuntu Server im Notfallmodus starten: Eine Schritt-für-Schritt-Anleitung

Ubuntu Server im Notfallmodus starten: Eine Schritt-für-Schritt-Anleitung

Sichere Diagnose des Ubuntu-Server-Notfallmodus. Boot-Logs lesen, Root- und fstab-Mounts prüfen, fehlerhafte Einheiten reparieren, Dateisystemfehler beheben und einen sauberen Neustart verifizieren.

So konfigurieren Sie ein WireGuard Point-to-Site-VPN unter Debian 12

So konfigurieren Sie ein WireGuard Point-to-Site-VPN unter Debian 12

Richten Sie einen Debian 12 WireGuard VPN-Server für einen Remote-Client ein. Konfigurieren Sie Schlüssel, IPv4-Weiterleitung, nftables NAT, Firewall-Zugriff und Verbindungsprüfungen.