Estoy tratando de configurar rsync para copiar los datos de un servidor todos los días. Para que el sistema sea lo más restringido posible, estoy tratando de usar el modo descrito en la página del manual como: "UTILIZAR LAS FUNCIONES DE RSYNC-DAEMON A TRAVÉS DE UNA CONEXIÓN DE CONCHA A DISTANCIA"
Así que puse un archivo llamado rsyncd.conf en la carpeta de inicio de root:
[root]
path = /
read only = true
e intenté copiar / etc / passwd como prueba:
rsync -vv -e ssh myserver::root/etc/passwd .
Pero me sale lo siguiente:
opening connection using: ssh myserver rsync --server --daemon .
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [receiver=3.0.3]
La razón por la que estoy haciendo todo esto es porque una vez que lo hago funcionar, planeo restringir el acceso especificando el comando
rsync --server --daemon .
en ~ / .ssh / optional_keys
Respuestas:
Parece que hay un error en la documentación o la implementación de rsync. man rsync dice:
pero cuando se conectaba a la raíz, de acuerdo con / var / log / messages, buscaba en /etc/rsyncd.conf el archivo de configuración (la ubicación estándar para un archivo rsyncd.conf cuando no se usaba sobre SSH).
Tuve que forzar al servidor ssh a usar el archivo de configuración correcto agregando
a /root/.ssh/authorized_keys.
La razón por la que no solo puse la configuración en la ubicación predeterminada es que no quería que alguien iniciara accidentalmente un demonio rsync normal, solo quiero que un demonio tenga tanto acceso cuando tenga la clave ssh correcta.
fuente
rsync en modo demonio no es lo que sugeriría si quieres bloquearlo lo más posible. Desea restringir el comando que una clave SSH puede ejecutar e invocar el comando de copia usando esa tecla.
Para averiguar a qué comando restringir la clave, ejecute la línea de comando rsync adecuada con una ligera modificación en el comando ssh:
Verá una línea en la salida de depuración como:
Ese comando exacto es el que desea restringir para que la clave pueda ejecutarse en .ssh / optional_keys:
fuente