Bem ... sftp é um protocolo de transferência de arquivos e não suporta nenhum gerenciamento de usuário (alteração de senha), portanto, em suma, não é possível em SFTP.
A única possibilidade é permitir o acesso ssh apenas para alterar a senha (por exemplo, usar ForceCommand com proxy selecionando entre o comando sftp-server e passwd ), como:
#!/bin/sh
# Script: /usr/local/bin/wrapper.sh
case "$SSH_ORIGINAL_COMMAND" in
"/path/to/sftp-server")
/path/to/sftp-server
;;
"passwd")
passwd
;;
*)
echo "Sorry. Only these commands are available to you:"
echo "ps, vmstat, cupsys stop, cupsys start"
exit 1
;;
esac