Uma maneira talvez não tão simples é se conectar como root
, mas limitar a chave usada para conectar-se a apenas executar invocações específicas de rsync
; isso requer uma entrada /root/.ssh/authorized_keys
ao longo das linhas de
from="192.0.2.*",command="/root/limit-rsnap" ssh-rsa AAAAB3N...
que limita a origem esperada do backup (isso pode não ser ideal para todas as configurações) e, mais importante, o script /root/limit-rsnap
no sistema que está sendo conectado somente chamadas específicas para rsync
são permitidas:
#!/bin/bash
shopt -s extglob
test -n "$SSH_ORIGINAL_COMMAND" || exit 1
case "$SSH_ORIGINAL_COMMAND" in
'rsync --server --sender -'+([vnlHogDtprRxe.isfLS])' --numeric-ids . '*)
RSYNCPATH="${SSH_ORIGINAL_COMMAND#rsync --server --sender -+([vnlHogDtprRxe.isfLS]) --numeric-ids . }"
test -e "$RSYNCPATH" && exec $SSH_ORIGINAL_COMMAND || exit 1
;;
*)
exit 1
;;
esac