Parece haver um bug na documentação ou na implementação do rsync. man rsync diz:
Rsync supports connecting to a host using a remote shell and then spawning a single-use “daemon” server that expects to read its config file in the home dir of the remote user.
mas ao se conectar ao root, de acordo com o / var / log / messages, ele estava procurando em /etc/rsyncd.conf para o arquivo de configuração (o local padrão para um arquivo rsyncd.conf quando não usado por SSH.
Eu tive que forçar o servidor ssh a usar o arquivo de configuração correto adicionando
command="rsync --config=/root/rsyncd.conf --server --daemon ."
para /root/.ssh/authorized_keys.
O motivo pelo qual eu não coloquei a configuração no local padrão é que eu não queria que alguém acidentalmente iniciasse um daemon rsync normal - eu só quero que um daemon tenha tanto acesso quando tiver o ssh correto chave.