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
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 192.168.178.49:21...
Connection made, awaiting welcome message...
331 Please specify the password.
530 Login incorrect.
Fatal error: Can't connect to server.
‘sudo netstat -tulpn’ shows:
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 342/vsftpd
/var/log/vsftpd.log shows the same message over and over again:
CONNECT: Client "192.168.178.69"
[username] FAIL LOGIN: Client "192.168.178.69"
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 [email protected] (intel-ucode IS installed)
OS: Arch Linux 5.0.9-arch1-1-ARCH x86_64 (Up-to-date and installed today)
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:
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