I'm running a simple vsftpd server. The centos 7 box it runs on is connected to LDAP. I need an SFTP user with no shell access, so I've set their shell in /etc/passwd to /sbin/nologin, and added /sbin/nologin to /etc/shells, and added check_shell=NO to my /etc/vsftpd/vsftpd.conf file, but I cannot log in with SFTP. Changing the user's shell to /bin/bash causes the SFTP login to work fine.
I've looked at several answers but they all suggest the steps I've already taken (like this one). I'm on vsftpd version 3.0.2, and I have SELinux set to Permissive.