repo: https://github.com/fphammerle/docker-rsync-sshd
docker hub: https://hub.docker.com/r/fphammerle/rsync-sshd
SSH clients are restricted to rsync --server
commands via rrsync.
rrsync prefixes /data
to all paths (e.g., rsync ... host:/src /backup
downloads /data/src
).
$ docker run --name=rsync-sshd -p 2022:22 -e USERS=alice,bob -v rsync-data:/data:ro fphammerle/rsync-sshd
$ docker cp alice-keys rsync-sshd:/home/alice/.ssh/authorized_keys
$ docker cp bob-keys rsync-sshd:/home/bob/.ssh/authorized_keys
$ docker run --name rsync-sshd \
--publish 2022:22 --env USERS=alice,bob \
--volume accessible-data:/data:ro \
--volume host-keys:/etc/ssh/host_keys \
--volume alice-ssh-config:/home/alice/.ssh:ro \
--volume bob-ssh-config:/home/bob/.ssh:ro \
--init --rm \
fphammerle/rsync-sshd
$ rsync -av --rsh='ssh -p 2022' alice@localhost:/source /target
required capabilities: