Skip to content

SFTP unter Debian 12 – Einrichtung & Benutzerverwaltung

Einführung

SFTP (SSH File Transfer Protocol) ermöglicht sichere Dateiübertragungen über einen verschlüsselten Kanal, basierend auf SSH. Dieser Leitfaden zeigt, wie man in Debian 12 einen dedizierten SFTP‑Server einrichtet und Benutzern mit eingeschränkten Rechten eigene Verzeichnisse zuweist.

Voraussetzungen

  • Ein Debian 12 Server
  • Ein Benutzer mit sudo‑Rechten
  • Der OpenSSH‑Server installiert

Schritte zur Einrichtung

1. OpenSSH installieren (falls noch nicht geschehen)

sudo apt update  
sudo apt install openssh-server  

Danach startet der Dienst in der Regel automatisch. Den Status prüfen mit:

sudo systemctl status ssh

2. SFTP‑Gruppe & Basis‑Benutzer anlegen

sudo groupadd sftpusers  
sudo useradd -m -g sftpusers -s /bin/false sftpuser  
sudo passwd sftpuser
  • Der Shell /bin/false wird gesetzt, damit der Nutzer nicht regulär via SSH einloggen kann.
  • Nutzer gehört zur Gruppe sftpusers.

3. SSHD konfigurieren für SFTP

sudo nano /etc/ssh/sshd_config

Am Ende ergänzen:

Subsystem sftp internal-sftp

Match Group sftpusers
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp

Neustarten:

sudo systemctl restart ssh

4. Verzeichnisstruktur & Berechtigungen erstellen

sudo mkdir -p /sftp/sftpuser/files
sudo chown root:sftpusers /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser
sudo chown sftpuser:sftpusers /sftp/sftpuser/files

5. Verbindung testen

sftp sftpuser@DEIN_SERVER_IP

Weitere Nutzer hinzufügen – mit eigenen Ordnern

Beispiel: Nutzer alice

  1. Benutzer anlegen
sudo useradd -m -g sftpusers -s /bin/false alice
sudo passwd alice
  1. Verzeichnisstruktur erstellen
sudo mkdir -p /sftp/alice/files
  1. Rechte setzen
sudo chown root:sftpusers /sftp/alice
sudo chmod 755 /sftp/alice
sudo chown alice:sftpusers /sftp/alice/files
  1. Testen:
sftp alice@DEIN_SERVER_IP

Hinweise

  • Chroot-Verzeichnisse müssen Root gehören und dürfen nicht beschreibbar sein.
  • Unterordner (files) werden dem jeweiligen Benutzer zugewiesen.
  • Für viele Benutzer empfiehlt sich ein Automatisierungsskript.