If you are using VestaCP and facing this problem, can try the following fix.
Check the FTP user path in /etc/passwd using this command
cat /etc/passwd
check the highlighted
vestausr_ftpusr:x:1009:1009::/home/vestausr/web/domain.com/public_html:/sbin/nologin
then check whether the path in /etc/shells
cat /etc/shells
If it’s wasn’t in there, then edit the /etc/shells
nano /etc/shells
add this line
/sbin/nologin
save the file and it should work fine.