Ü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/