
Ich muss einem gewissen Herrn X Zugriff auf meinen Produktionsserver gewähren, damit er Dateien auf meinen Server übertragen kann. Da es nicht notwendig ist, ihm Shell-Zugriff zu gewähren, habe ich mich für die Verwendung einer eingeschränkten Shell (rssh) entschieden, sodass er nur Dateien auf meinen Server kopieren kann, ohne darauf zugreifen zu können. Die Datei wird mit RSYNC über SSH übertragen.
Der Befehl, der zum Übertragen der Datei verwendet wird, ist
rsync -ua -e 'ssh -p 55' /appdata/paths/ 192.168.4.172:/home/example/
Aber rsync über SSH mit eingeschränkter Shell scheint nicht gut zu funktionieren
$ 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]
Es funktioniert gut mit scp
, das Problem ist rsync
nur mit
Antwort1
rrsync
Sie sollten (wahrscheinlich gzippt auf Ihrem System verfügbar, z. B. in ) verwenden /usr/share/doc/rsync/scripts/
und eine Zeile in Ihrer authorized_keys-Datei mit dem dort für rsync installierten öffentlichen Schlüssel verknüpfen:
command="$HOME/bin/rrsync -ro ~/rsyncdir/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding