Ühes varasemas artiklis sai käsitletud andmete varundamise teemat. See töötab, kuid samas on meil võimalus sisse logida ilma paroolita ja serveris ringi vaadata. Seda võimalust me ehk ei soovi ilma põhjuseta anda tavakasutajatele. Kirjeldan siin, kuidas siis piiranguid seada.
Kõigepealt vajame rrsync skripti. Teeme selle kõigile kasutajatele kättesaadavaks:
# gunzip /usr/share/doc/rsync/scripts/rrsync.gz -c > /usr/bin/rrsync # chmod +x /usr/bin/rrsync
Serveris loome kasutaja nagu tavaliselt ning lubame talle ssh võtmega paroolita sisselogimise:
$ ssh rsynctest@host $ cat ~/.ssh/id_rsa.pub | ssh rsynctest@host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Veendume, et saame nüüd serverisse ilma paroolita sisse:
$ ssh rsynctest@host
Teeme siin kausta, kuhu soovime andmeid arhiveerida:
rsynctest@host:~$ mkdir -p rsync-backup
Veendume, et meil rsync töötab:
$ rsync -av "/C/Users/tiit/Documents" rsynctest@host:rsync-backup
Nüüd asume piirama ligipääsu, nii et kasutaja saab käivitada küll rsync, kuid ei saa sisse logida. Selleks logime kõigepealt sisse ning muudame faili ~/.ssh/authorized_keys, lisades "ssh-rsa AA..." ette:
command="/usr/bin/rrsync ~/rsync-backup/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding
Logime välja ja proovime uuesti sisse logida. Saame vastuseks midagi sellist:
PTY allocation request failed on channel 0 /usr/bin/rrsync: Not invoked via sshd Use 'command="/usr/bin/rrsync [-ro] SUBDIR"' in front of lines in /home/rsynctest/.ssh/authorized_keys
Seega sisse logida me enam ei saa. Veendume, et rsync ikka edasi töötab. Üks samm turvalisuse poole on nüüd tehtud.
Linke:
https://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/
http://dev-notes.eu/2015/06/secure-rsync-between-servers/