You will need to make changes on the server. Since you didn't state which sftp server you are running, my guess is that the server is running vsftpd, because it is one of very few ftp server that can serve both FTP and SFTP.
If it is running vsftpd, you'll need to edit the /etc/vsftpd.conf
(or it could be in a different file in different location, especially if running virtual host). Add or change the line local_root
so that it reads local_root=/var/www/site.com/public/files/
.
Then restart the server using service vsftpd restart
. Running as root or sudoer is implied and required to make these changes. Also, don't forget to set the proper permission on the /var/www/site.com/public/files/
.