(Ubuntu 16.04 LTS (Xenial Xerus)) ISPConfig 3.1b1 echo 'yes' > /etc/pure-ftpd/conf/VerboseLog tail -n 100 /var/log/syslog Sep 8 00:41:15 server pure-ftpd: ([email protected]) [INFO] New connection from 172.58.xxx.xxx Sep 8 00:41:16 server pure-ftpd: ([email protected]) [INFO] SSL/TLS: Enabled TLSv1/SSLv3 with AES256-GCM-SHA384, 256 secret bits cipher Sep 8 00:41:16 server pure-ftpd: ([email protected]) [INFO] PAM_RHOST enabled. Getting the peer address Sep 8 00:41:24 server pure-ftpd: ([email protected]) [WARNING] Authentication failed for user [clientiduser] Sep 8 00:41:24 server pure-ftpd: ([email protected]) [INFO] Logout. DontResolve is set to yes I am able to login to mysql database with the username and password from the pure-ftpd configuration file. Verified that the ftp user is in the ftp user table in the ispconfig mysql database. Also tried with PAM disabled. Filezilla debug says: Status: Disconnected from server Trace: CControlSocket:oClose(64) Trace: CControlSocket:oClose(64) Trace: CControlSocket:oClose(64) Trace: CFileZillaEnginePrivate::ResetOperation(0) Status: Resolving address of mydomain.com Status: Connecting to xxx.xxx.xxx.xxx:21... Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- Response: 220-You are user number 1 of 50 allowed. Response: 220-Local time is now 01:05. Server port: 21. Response: 220-This is a private system - No anonymous login Response: 220-IPv6 connections are also welcome on this server. Response: 220 You will be disconnected after 15 minutes of inactivity. Trace: CFtpControlSocket::SendNextCommand() Command: AUTH TLS Trace: CFtpControlSocket::OnReceive() Response: 234 AUTH TLS OK. Status: Initializing TLS... Trace: CTlsSocket::Handshake() Trace: CTlsSocket::ContinueHandshake() Trace: TLS handshake: About to send CLIENT HELLO Trace: TLS handshake: Sent CLIENT HELLO Trace: CTlsSocket::OnSend() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: TLS handshake: Received SERVER HELLO Trace: TLS handshake: Processed SERVER HELLO Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: TLS handshake: Received CERTIFICATE Trace: TLS handshake: Processed CERTIFICATE Trace: TLS handshake: Received SERVER HELLO DONE Trace: TLS handshake: Processed SERVER HELLO DONE Trace: TLS handshake: About to send CLIENT KEY EXCHANGE Trace: TLS handshake: Sent CLIENT KEY EXCHANGE Trace: TLS handshake: About to send FINISHED Trace: TLS handshake: Sent FINISHED Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: TLS handshake: Received NEW SESSION TICKET Trace: TLS handshake: Processed NEW SESSION TICKET Trace: TLS handshake: Received FINISHED Trace: TLS handshake: Processed FINISHED Trace: TLS Handshake successful Trace: Protocol: TLS1.2, Key exchange: RSA, Cipher: AES-256-GCM, MAC: AEAD Status: Verifying certificate... Status: TLS connection established. Trace: CFtpControlSocket::SendNextCommand() Command: USER clientiduser Trace: CTlsSocket::OnRead() Trace: CFtpControlSocket::OnReceive() Response: 331 User clientiduser OK. Password required Trace: CFtpControlSocket::SendNextCommand() Command: PASS ************ Trace: CTlsSocket::OnRead() Trace: CFtpControlSocket::OnReceive() Response: 530 Login authentication failed Trace: CControlSocket:oClose(1094) Trace: CFtpControlSocket::ResetOperation(1094) Trace: CControlSocket::ResetOperation(1094) Error: Critical error: Could not connect to server Trace: CFileZillaEnginePrivate::ResetOperation(1094)