You don't. rsync can't do that for you, it is a protocol of its own and doesn't work over FTP.
You might, however, want to try csync. IIRC it provides rsync-like behaviour over HTTP. I can't comment on whether it works over FTP, you'll have to try it.
Don't use a password. Generate a passphrase-less SSH key and push it to your VM.
If you already have an SSH key, you can skip this step…
Just hit Enter for the key and both passphrases:
$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
Copy your keys to the target server:
$ ssh-copy-id id@server
id@server's password:
Now try logging into the machine, with ssh 'id@server'
, and check-in:
.ssh/authorized_keys
Note: If you don't have .ssh dir and authorized_keys file, you need to create it first
to make sure we haven’t added extra keys that you weren’t expecting.
Finally, check to log in…
$ ssh id@server
id@server:~$
You may also want to look into using ssh-agent
if you want to try keeping your keys protected with a passphrase.
Best Answer
Rsync does not scale linearly, especially when they aren't started at the same time. The most intensive part is the initial bit where it reads the directories and sync's the file lists. The newest version of rsync side steps this so then you are only left with checksums. If CPU usage becomes an issue, you can disable this part too.
The SSH side of things generally won't use too much cpu even when you start pushing serious bandwidth. Its highly optimised and won't do very much. For record, I've push 45meg a second through a ssh encrypted tunnel without any of the cores on the box blinking. Load jumped up a little from the disk access of pushing the data on to the raid array.