rsync SSH

Create backup user on Server called “gudang”. Make user passwordless.

Prepare RSA keys on Server called “gudang”


root@gudang:/root$ su -m yogya
yogya@gudang:/home/yogya/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yogya/.ssh/id_rsa): /home/yogya/.ssh/id_rsa_rsync
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/yogya/.ssh/id_rsa_rsync.
Your public key has been saved in /home/yogya/.ssh/id_rsa_rsync.pub.
The key fingerprint is:
b4:65:6c:d9:5f:5f:27:1e:24:21:c7:b0:a4:c7:ac:ff yogya@gudang
The key's randomart image is:
+--[ RSA 2048]----+
|          +o+..  |
|         * *.o   |
|        o @ . o +|
|       . B   o ++|
|        S     o .|
|         .       |
|          .      |
|           .     |
|            E    |
+-----------------+

Add key to authorized keys on Remote called “yogya”


yogya@gudang:/home/yogya/.ssh$ scp id_rsa_rsync.pub  root@yogya:

[root@yogya .ssh]# cat ../id_rsa_rsync.pub >> authorized_keys 

Check command that Remote wants to perform


yogya@gudang:/home/yogya$ rsync -avz -e 'ssh -v' --numeric-ids --delete root@yogya:/mnt/data/backup/svn /home/yogya/home 2>&1
..
..
debug1: Sending command:  rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /mnt/data/backup/svn
..

Put commands in authorized_keys on Remote


command="rsync --server --sender -vlogDtprze.iLsf --numeric-ids . /mnt/data/backup/svn",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiI3mw38zbEknwqsy1uPtLfD0H8nMqKoFVyf+hAohyBdsXZysm/xSgYB9T2F4X7KCO4x8vaXrtLBf/ZdTV852jmW2uDlbUlsWj+XsT9AbS9RCncq943l8pzhk8yxB12o+KqRoPnWga0wNYaaF4av0+nsm1fv2Tzxkd8/q0hIrOuWjnJFWuNDgK1sZBOQwHN07jtcGsTvcsRWst9NZCRErIqIoM5LIou7LJzLlVqtBzLO90dWNp6Y6c6ENXtFRezu2myiAtdiWxNUAhoEZA5HJNpotYurDJw3oJgWoIv0Rz6qoSl2gGbAvKfs8UR4Un3DYCVmmbv0Z+qJkeVKuAZuap yogya@gudang

Note:
* only one command per rsa key

Run commands on Server


rsync -az -e 'ssh -i /home/yogya/.ssh/id_rsa_rsync' --numeric-ids --delete root@yogya:/mnt/data/backup/svn /home/yogya/home 2>&1

Add to command to crontab on server


yogya@gudang:/home/yogya/home$ crontab -e
45 * * * * rsync -az -e 'ssh -i /home/yogya/.ssh/id_rsa_rsync' --numeric-ids --delete root@yogya:/mnt/data/backup/svn /home/yogya/home 2>&1

Leave a Reply

Your email address will not be published. Required fields are marked *