Minha sugestão de dois cent: você poderia usar o PAM para fazer isso.
Por exemplo Use algum módulo pam como pam-mysql para armazenar alguns de seus usuários no mysql e pam_require para evitar que usuários armazenados no mysql possam acessar outros serviços além do sftp.
Comece a procurar aqui: Módulos / Aplicativos disponíveis ou em andamento ...