I know this question has been asked countless times already, but I feel like I've tried every possible solution and none seem to work.

Some articles I've read and tried to use:

vsftpd error 530 login incorrect occurs with valid credentials and the 5 articles that one links to. AskUbuntu - vsftpd 530 login incorrect and about 10 that offer the same solution. LinuxQuestions.org - vsftpd login incorrect

I used to have UFW enabled (with 20:22/tcp and 20000:20200/tcp allowed) for both active and passive FTP, but have at some point disabled the entire thing.

I tried using xinetd, but got it working just as well as vsftpd-standalone, with exception of errors '500 OOPS: run two copies of vsftpd for IPv4 and IPv6' and '500 OOPS: could not bind listening IPv4 socket'. However, after solving those two, the same problem (Error 530) occured.

My normal configuration file (/etc/vsftpd.conf) looks like this:

ftpd_banner=Welcome to the 'server name' FTP server.

However, commenting everything from deny_email_enable and downward (disabling passive, ssl and pam), with exception of 'listen=YES' doesn't yield other results.

vsftpd.service is enabled and started in systemctl

xinetd.service is disabled and stopped in systemctl (after some testing)

The PAM file (/etc/pam.d/vsftpd) contains:

auth    required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
#@include common-account
#@include common-session
#@include common-auth
auth    required    pam_shells.so

The files referred to DO exist and have the permissions: root:root 744

My user name is NOT in /etc/ftpusers

My user's login shell (/bin/bash) IS in /etc/shells

My user IS in /etc/passwd

Whenever I try to login I just get the same error over and over again:

Connecting to
Connection made, awaiting welcome message...
Initializing TLS...
Checking certificate...
Established TLS-connection.
USER username
331 Please specify the password.
PASS ************
530 Login incorrect.
Fatal error: Can't connect to server.

'sudo netstat -tulpn' shows: tcp 0 0* LISTEN 342/vsftpd

/var/log/vsftpd.log shows the same message over and over again:

CONNECT: Client ""
[username] FAIL LOGIN: Client ""

without any further info. (Using the same login credentials as I use to login through SSH and locally on the server)

I am completely out of ideas, after having researched this issue for 6 continuous hours. So any help is appreaciated.

Also, system info: Processor: 2xIntel Pentium G6950@2.800GHz (intel-ucode IS installed) OS: Arch Linux 5.0.9-arch1-1-ARCH x86_64 (Up-to-date and installed today) RAM: 8192MB Internet both Server and Client: 1Gbps cat 5e cable directly to modem No firewall on client or modem

Edit1: Edited typos in /etc/pam.d/vsftpd


After I posted the question, I tried a for a little longer, but to no avail. Fast-forward one day and I've decided to completely wipe the operating system, reinstall and make vsftpd the very, very first thing to do after OS essentials. Therefore, I am not sure if what I changed fixed the issue, or if something went wrong during the initial installation of the operating system, but here we go anyway:

I was completely baffled why NO solutions from others, who had the same issue, helped, until I read the last entry in the Arch Linux vsftpd troubleshooting page which states, that PAM has been updated in 2019(!) and that authentication for local users now works differently. Provided is also, an example /etc/pam.d/vsftpd file:

account    required    pam_listfile.so onerr=fail item=user sense=allow file=/etc/vsftpd.user_list
account    required    pam_unix.so
auth       required    pam_unix.so

And all of a sudden, it works.

I only added one line to the config file, when I was testing things and had enabled the 'anonymous' user, and got a 'directory listing' error. This was also adviced in the troubleshooting section of the same page.


But I honestly doubt that changed anything for logging in for local users, which was my initial question.


Wisegay, I think this might be user directory permission issue could you please check url https://help.ubuntu.com/community/vsftpd for user dir permission and pam file contents. I hope this will help you.


Haven't been using vsftpd for a while and forgotten that nice 530: login incorrect thing.

Spent couple of hours playing around with all the possible solutions I managed to google, and finally recalled the root cause of the issue:

While pam_service_name=ftp is documented as a default value, default minimal config didn't work (RHEL7.5, vsftpd3.0.2) throwing login incorrect error.

The error was gone when pam_service_name=vsftpd was set in /etc/vsftpd/vsftpd.conf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.