Ubuntu-SFTP-Server installieren – Schritt für Schritt
Ubuntu ist eine sichere und zuverlässige Plattform für die Einrichtung eines SFTP-Servers. Die Linux-Distribution bietet integrierte Tools und Pakete, die Sie für SFTP nutzen können. In unserer Schritt-für-Schritt-Anleitung zeigen wir Ihnen, wie Sie einen Ubuntu-SFTP-Server für einen verschlüsselten Datentransfer installieren und konfigurieren.
Ubuntu-SFTP-Server: Das sind die Systemvoraussetzungen
Im Vergleich FTP vs. SFTP ist das SFTP-Protokoll die deutlich bessere Wahl. Basierend auf FTP, verwendet SFTP kryptografische Verfahren zur Datenverschlüsselung. Daher sind für die Installation zusätzliche Komponenten wie Secure Shell (SSH) erforderlich. Für die Einrichtung eines SFTP-Servers unter der aktuellen Ubuntu-Version 22.04 sollten folgende Systemvoraussetzungen erfüllt sein:
- Prozessor (CPU): 2 GHz (Dual-Core)
- Arbeitsspeicher (RAM): 4 GB
- Festplattenspeicher: abhängig von Datengröße
- Betriebssystem: Ubuntu, Benutzer mit Root-Rechten
- Software-Paket: OpenSSH
- Internetverbindung zum Downloaden von Paketen und Verbinden mit dem SFTP-Server
Mit einem Secure FTP-Server von IONOS haben Sie Zugriff auf sicheres File-Hosting, inklusive regelmäßigen Backups und 24/7-Support.
Schritt-für-Schritt-Anleitung: Installation eines Ubuntu-SFTP-Servers
Um einen FTP-Server einzurichten, der SFTP unterstützt, sollten Sie zuerst kontrollieren, ob OpenSSH installiert ist. Standardmäßig stehen die Pakete in Ubuntu bereits zur Verfügung. Sollte dies nicht der Fall sein, können Sie die Pakete aus dem offiziellen Repository beziehen.
Öffnen Sie das Terminal auf Ihrem Ubuntu-System und führen Sie die folgenden Befehle aus:
Schritt 1: OpenSSH-Pakete überprüfen
Mithilfe dieser Eingabe listen Sie alle installierten Pakete auf und filtern dabei nach ssh:
$ dpkg -l | grep sshbashIn unserem Beispiel führt dies zur Ausgabe:

Wird ein ii angezeigt, bedeutet dies, dass die Pakete installiert sind.
Schritt 2: SSH installieren
Sollte OpenSSH nicht vorhanden sein, können Sie es mit dem Paketmanager APT installieren:
$ sudo apt install sshbashSchritt 3: SSHD-Konfiguration ändern
Nach der Installation muss die Konfigurationsdatei des SSH-Daemons angepasst werden. Sie können diese z. B. mit dem Nano-Editor aufrufen:
$ sudo nano /etc/ssh/sshd_configbashGeben Sie dann folgende Zeilen ein:
Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftpbashDadurch können Benutzer und Benutzerinnen der SFTP-Gruppe auf ihr Home-Verzeichnis über SFTP zugreifen.
- 100 % Enterprise-Hardware
- Minutengenaue Abrechnung
- Nur bei uns: Cloud-Funktionen
Schritt 4: SSH-Dienst neu starten
Im Anschluss an die Änderung der Konfigurationsdatei sollte der SSH-Dienst neu gestartet werden:
$ sudo systemctl restart sshdbashSchritt 5: SFTP-Benutzer und Gruppe erstellen
Im nächsten Schritt erstellen wir eine neue Gruppe sftpgroup und einen neuen Benutzer sftpuser, der aus Sicherheitsgründen nur auf den Ubuntu-SFTP-Server und nicht den SSH-Dienst zugreifen kann.
$ sudo groupadd sftpgroupbashDer neue Nutzer wird mit der Option -G der SFTP-Gruppe zugeteilt. Durch die Option -d wird das Home-Verzeichnis bestimmt und mit -s der Shell-Zugang geregelt.
$ sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuserbashSchritt 6: SFTP-Benutzerpasswort erstellen
Geben Sie ein sicheres Passwort für den SFTP-Benutzer mit dem Befehl passwd ein:
$ passwd sftpuserbashSchritt 7: Chroot einrichten
Durch die Erstellung eines Chroot-Verzeichnisses wird eine Sandbox für ablaufende Prozesse geschaffen. Zuerst muss ein neuer Ordner angelegt werden:
$ mkdir -p /srv/sftpuserbashDann wird die Eigentümerschaft mit chown auf den Root-Benutzer festgelegt:
$ sudo chown root /srv/sftpuserbashWeisen Sie der Gruppe Rechte zum Lesen und zum Ausführen zu:
$ sudo chmod g+rx /srv/sftpuserbashDanach legen Sie ein Unterverzeichnis an und bestimmen sftpuser als Eigentümer:
$ mkdir -p /srv/sftpuser/data
$ chown sftpuser:sftpuser /srv/sftpuser/databashDadurch kann der SFTP-Benutzer bzw. die SFTP-Benutzerin Dateien in das Unterverzeichnis „data“ hochladen, besitzt jedoch nur beschränkte Rechte im sftpuser-Verzeichnis. Dort hat er oder sie zwar Leserechte, aber aus Sicherheitsgründen keine Schreibrechte.
Schritt 8: Mit dem Ubuntu-SFTP-Server verbinden
Die Verbindung zum SFTP-Server kann entweder über die SFTP-Befehlszeile oder durch einen FTP-Client mit GUI hergestellt werden. Im Terminal geben Sie das Kommando sftp, gefolgt vom Benutzer- und dem Hostnamen oder der IP-Adresse des SFTP-Servers ein.
$ sftp sftpuser@SERVER-IPbashWenn ein benutzerdefinierter Port verwendet wird, kann dies wie folgt spezifiziert werden:
$ sftp -P PORT ftpuser@SERVER-IPbashDanach werden Sie aufgefordert, das Passwort des SFTP-Nutzers bzw. der -Nutzerin einzugeben.
Schritt 9: Dateien auf den SFTP-Server hochladen
Dateien werden in SFTP über den Befehl put hochgeladen.
Probieren Sie, eine Datei in das Verzeichnis / zu übertragen:
put /path/to/file/on/local /bashDer Befehl sollte fehlschlagen, denn es handelt sich um das chroot-Verzeichnis, für das der SFTP-Nutzer bzw. die SFTP-Nutzerin keine Schreibrechte besitzt.
Versuchen Sie es nun mit dem Ordner data:
put /path/to/file1/on/local1 /data/bashSchritt 10: Dateien auf dem Ubuntu-SFTP-Server anzeigen
Dateien können Sie in der SFTP-Befehlszeile mit dem Kommando ls auflisten:
ls /data/bashHier sehen Sie, welche Daten sich auf dem SFTP-Server befinden:

Erfahren Sie außerdem in unserem Ratgeber, wie Sie einen Windows-SFTP-Server einrichten können.