Das Konfigurieren eines SSH-Servers, um FTP-Zugriff bereitzustellen, erfordert die Installation und Konfiguration eines sogenannten “SFTP-Servers” (Secure File Transfer Protocol). Hier sind die Schritte, um dies zu erreichen:
1. Zunächst muss ein SSH-Server (z.B. OpenSSH) auf dem Host installiert werden, der den FTP-Zugriff bereitstellen soll. Dies kann je nach Betriebssystem und Distribution unterschiedlich sein.
2. Nach der Installation des SSH-Servers muss ein SFTP-Subsystem konfiguriert werden. Hierzu kann die Konfigurationsdatei des SSH-Servers (z.B. /etc/ssh/sshd_config) bearbeitet werden. Fügen Sie dazu folgende Zeile hinzu:
Subsystem sftp internal-sftp
3. Legen Sie außerdem eine Gruppe für SFTP-Benutzer an, sofern noch nicht vorhanden:
sudo groupadd sftp_users
4. Erstellen Sie nun einen Benutzer, der Zugriff auf den SFTP-Server haben soll:
sudo adduser —ingroup sftp_users sftp_user
5. Erstellen Sie ein Verzeichnis, in das der Benutzer sftp_user hochladen kann:
sudo mkdir /var/sftp/uploads
6. Legen Sie Rechte auf das Verzeichnis fest:
sudo chown root:root /var/sftp/uploads
sudo chmod 755 /var/sftp/uploads
7. Um den FTP-Zugriff zu ermöglichen, muss die Firewall auf dem Host so konfiguriert sein, dass eingehende Verbindungen auf dem SFTP-Port (üblicherweise Port 22) erlaubt werden.
8. Mit einem FTP-Client (z.B. FileZilla) kann nun auf den SFTP-Server zugegriffen werden. Verwenden Sie dazu die Anmeldeinformationen des zuvor erstellten Benutzers und geben Sie als Server die IP-Adresse oder den DNS-Namen des Hosts an. Der Port ist standardmäßig 22.
Beachten Sie, dass SFTP und FTP zwar beide Dateiübertragungsprotokolle sind, jedoch unterschiedliche Implementierungen und Sicherheitsmerkmale aufweisen. SFTP ist sicherer als FTP, da es alle Übertragungen verschlüsselt und nur autorisierten Benutzern Zugriff gewährt.