I recently tried to using sftp to access my linux box where I implement a simple shell of my own. And I set the users except root to use mine shell in default(by editing /et
Configure your server to use the internal sftp server adding the following directive to /etc/ssh/sshd_config:
/etc/ssh/sshd_config
Subsystem sftp internal-sftp
That way, it will not use the user shell to launch the sftp server program.