Dieses kurze Howto beschreibt wie man vsftpd um die Möglichkeit des SSL verschlüsselten Transfer erweitert.

Schlüssel und selbst signiertes Zertifikat erzeugen:

openssl req -new -x509 -days 365 -keyout servername.key -out servername.crt

Passphrase vom Schlüsse entfernen, damit vsftpd ohne Passworteingabe gestartet werden kann:

openssl rsa -in servername.key -out servername.key

Sowohl das Zertifikat, als auch den Schüssel in eine Datei umleiten, damit vsftpd darauf zugreifen kann:


cat servername.crt servername.key >> /usr/share/ssl/certs/vsftpd.pem

Nun noch in die Konfigurationsdatei (/etc/vsftpd/vsftpd.conf) folgende Zeilen einfügen:


ssl_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem

Das „NO“ bei force_local_data und force_local_logins_ssl ist nötig, damit sich auch Clients zum FTP-Server verbinden können, die kein SSL beherrschen. Will man dies verhindern und nur verschlüsselten Datenverkehr ermöglichen, braucht man nur beide Werte auf „YES“ zu setzen.

Was denkst du?


Zustimmung zur Datenspeicherung lt. DSGVO