Problem with FTP Ubuntu 22.04

Hi,

I’m facing a big problem with FTP and I tried many solutions but none of them work, I did not want to install vsftp. I want to use pure-ftp

Status: Connection established, waiting for welcome message…
Status: Initializing TLS…
Status: TLS connection established.
Command: USER admin_soctwell
Response: 331 User admin_soctwell OK. Password required
Command: PASS ****************
Response: 530 Login authentication failed
Error: Critical error: Could not connect to server

Some solutions talked about vfstp which I did not want to do.

Other solution was to change the hash but also not working:

ftp = Users.objects.get(user=userName)
ftp.password = password
ftp.save()

The service here named : pure-ftpd-mysql.service

If I removed and replaced with normal pure-ftp this should work and how I can do this?

In ftpUtilities.py file, there is ftp.password = hash.hexdigest(). You should replace hash.hexdigest() with password. That’s all you need. Nothing else. Use normal ftp:// port 21 not sftp://

Works for me in Ubuntu 22.04

Not working for me. Ubuntu 22.04. Did the same as you suggested.

Try resetting your FTP password then login again.

I reset the password many times but still have same issue.

After changing hash.hexdigest(), reboot your server and reset your password. I’m using FileZilla btw.

I did this, Changed hash, Reboot and reset password. but not working :frowning:

This hack is not something we recommend at all. Use sftp this should be the recommended workaround for 22.04 for now

I guess none of the early users of CP on ubuntu 22.04 use FTP.

Ubuntu 22.04 (and RH 9 Rocky 9 alma 9) have PureFTPd 1.5x which does not support MD5 hash.

CP uses MD5 hash for FTP passwords.

A safer solution at the moment is to install the following from Ubuntu 20.04 and put them on hold for updates:
libssl1.1_1.1.1 (which has the openssl vulnerability patched)
pure-ftpd-common 1.49
pure-ftpd-mysql 1.49
The Deb packages are available for download from the ubuntu 20.04 archive.

Anyone know when a fix will be available?
I’ve run into this issue and now I have to change 100+ hashed passwords into plaintext ones as otherwise connections don’t work anymore. Any other solution? pure-ftp config is set do MD5 hashing.

Hi there, got the problem on a fresh Alma Linux 9 install, Cyberpanel up to date with latest commit, fixed it the dirty way by editing /usr/local/CyberCP/plogical/ftpUtilities.py

    def changeFTPPassword(userName, password):
        try:
##            ProcessUtilities.decideDistro()                                                                                                                                   
##            if ProcessUtilities.ubuntu22Check == 1:                                                                                                                           
            from crypt import crypt, METHOD_SHA512
            FTPPass = crypt(password, METHOD_SHA512)
##            else:                                                                                                                                                             
##                hash = hashlib.md5()                                                                                                                                          
##                hash.update(password.encode('utf-8'))                                                                                                                         
##                FTPPass = hash.hexdigest()                                                                                                                                    

            ftp = Users.objects.get(user=userName)
            ftp.password = FTPPass
            ftp.save()