Ich bin neulich fast durchgedreht. Meine Debian-Server nutzen proFTPd mit TLS-Verschlüsselung. Für einen einzelnen Benutzer wollte ich nun TLSRequired auf „off“ setzen, damit dieser auch ohne TLS eine Verbindung herstellen kann.
Die Verbindung mit TLS funktioniert problemlos.
Die Verbindung ohne TLS scheitert aber mit einem Timeout. Der FTP-Client sendet den Benutzernamen (z.B. „user testmensch“) und ab dann passiert nichts mehr. Der Server reagiert nicht mehr und schlussendlich meldet der FTP Client einen Timeout.
Auch im proftpd.log und tls.log gab es keine besonderen Einträge, im Fall von „proftpd.log“ sogar gar keine Einträge, außer dem Verbindungsaufbau.
Die Lösung ist unglaublich einfach. Ich bin überfolgenden Beitrag gestolpert. Und der hat mich auf die richtige Spur gebracht:
Unabhängig davon ob IPv6 in der Config aktiviert ist muss der eigene Host in die Hosts-Datei unter „/etc/hosts“ eingegeben werden. Ansonsten befördert sich proFTPd in eine endlose Anfrage.
Der Eintrag in der hosts-Datei muss also etwa so aussehen:
::1 ip6-localhost ip6-loopback localhost
Dann proFTP.d mit „/etc/init.d/proftpd restart“ neu starten und die Verbindung funktioniert auch ohne TLS 😉