Se você já configurou um servidor FTP para permitir acesso dos usuários apenas ao seu diretório home, saiba que dá pra fazer o mesmo com SFTP. E ainda impedir que o usuário acesse o servidor por SSH.

Configure o OpenSSH

Edite o arquivo /etc/ssh/sshd_config, e altere ou adicione a seguinte configuração:

Subsystem sftp internal-sftp

Depois, no mesmo arquivo, adicione o seguinte no fim do arquivo:

1 Match group filetransfer
2     ChrootDirectory %h
3     X11Forwarding no
4     AllowTcpForwarding no
5     ForceCommand internal-sftp

Reinicie o OpenSSH.

service ssh restart

Modifique as contas dos usuários

Primeiro, crie um grupo no sistema, que será usado por todos os usuários que podem acessar o servidor apenas por SFTP.

addgroup --system filetransfer

Modifique as contas dos usuários, para restringir o acesso deles apenas ao SFTP. Estes comandos precisam ser feitos para cada conta de usuário que for criada.

usermod -G filetransfer usuario
chown root:root /home/usuario
chmod 755 /home/usuario

As contas de usuários que podem acessar o servidor via SSH não devem ser alteradas, nem ser adicionados ao grupo filetransfer.

Feito isto, será necessário criar um diretório, dentro do home de cada usuário. Este diretório será o local onde o usuário poderá colocar seus arquivos normalmente.

cd /home/usuario
mkdir public_html
chown usuario:filetransfer *

Com estas configurações, os usuários conseguirão acessar o servidor por SFTP e adicionar/remover arquivos no diretório public_html, mas eles não conseguirão adicionar arquivos em outros lugares, nem acessar o servidor por SSH.

Fonte: Limiting Access with SFTP Jails on Debian and Ubuntu