Uma solução sftp também requer um login ssh para todos, então você não perdeu nada aqui. Conceder acesso ssh não implica necessariamente acesso total ao shell, por exemplo, isso mostra como usar o arquivo ssh authorized_keys
para permitir o backup via rsync enquanto limita os comandos disponíveis para apenas o receptor rsync.
Na verdade, se você optar pela autenticação baseada em chave, em vez da autenticação por senha (que deve), poderá executar tudo em uma conta de usuário em vez de exigir várias contas. Você usaria chaves para identificar usuários remotos e direcionar o receptor rsync para um diretório específico.
Algo parecido com isto, no seu arquivo authorized_keys
:
command="/usr/bin/rsync --server -a . /tmp/user1" ssh-rsa ... user1
command="/usr/bin/rsync --server -a . /tmp/user2" ssh-rsa ... user2
Alguém que usa a chave privada user1
fará o backup em /tmp/user1
e alguém que usar a chave privada user2
fará o backup em /tmp/user2
. E assim por diante ...