Eu finalmente usei o SFTP para resolver o problema mencionado. Os principais problemas em que as permissões de arquivo. Eu fiz os seguintes passos (rodando o CentOS 7.2):
Permissões de pasta Seguindo as permissões de arquivo, quando definido. Incluindo o bit pegajoso (explicado após o código).
sudo find /var/www/html/ -type f -exec chmod 664 {} \;
sudo find /var/www/html/ -type d -exec chmod 775 {} \;
sudo find /var/www/html/ -type d -exec chmod g+s {} \; # Set SGID in order to keep group for newly created files
sudo chown -R apache:webmasters /var/www/html/website/data/ # As data directory must be writable by apache
chown root:root /var/www/
Crie um grupo e usuários
Crie um usuário para provedor externo e defina uma nova senha.
groupadd webmasters
useradd -g webmasters -d /var/www/ -s /sbin/nologin externalProvider
passwd externalProvider
Configuração do subsistema sftp-server em sshd_config
vim /etc/ssh/sshd_config
Descreva o subsistema existente e adicione:
Subsystem sftp internal-sftp
Adicione o final do sshd_config
Match Group sftpusers
Match Group webmasters
ChrootDirectory /var/www/
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
Reinicie o serviço sshd
systemctl restart sshd
Faça login via SFTP para testar a conexão
sftp externalProvider@hostname
Segurança
O SELinux está impondo e nunca foi questionado sobre essa configuração de SFTP.