RYSNC sobre SSH no funciona para shell restringido

RYSNC sobre SSH no funciona para shell restringido

Necesito darle acceso a algún Sr. X en mi servidor de producción para que pueda enviar archivos a mi servidor. Como no es necesario darle acceso al shell, decidí usar el shell restringido (rssh) para que solo pueda copiar archivos a mi servidor sin poder acceder a él. El archivo se transferirá mediante RSYNC a través de SSH.

El comando que se utiliza para transferir el archivo es

rsync -ua  -e 'ssh -p 55'  /appdata/paths/ 192.168.4.172:/home/example/ 

Pero rsync sobre SSH usando un shell restringido no parece funcionar bien

$ rsync -ua /appdata/paths/ -e 'ssh -p 565'
[email protected]:/home/example/
#################################################################################################################

 This service is restricted to authorized users only. All activities on this system     
 are logged.            ##
  ##   Unauthorized access will be fully investigated and reported to the appropriate     
 law enforcement agencies.  ##
#
  insecure -e option not allowed.
 This account is restricted by rssh.
 Allowed commands: scp rsync

  If you believe this is in error, please contact your system administrator.

  rsync: connection unexpectedly closed (0 bytes received so far) [sender]
  rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

Está funcionando bien con scp, el problema es rsyncsolo con

Respuesta1

Deberías usar rrsync(probablemente disponible en formato gzip en tu sistema, por ejemplo, en /usr/share/doc/rsync/scripts/) y asociar una línea en tu archivo Authorized_keys con la clave pública instalada allí para rsync:

command="$HOME/bin/rrsync -ro ~/rsyncdir/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding

Si es necesario, se pueden encontrar más detalles.aquíyaquí

información relacionada