How do I use rsync with an IPv6 address via SSH?

Solution 1:

You'll want to wrap the address in brackets like so:

rsync -rtlzv -e ssh /path/to/src 'root@[fdff::ffff:ffff:ffff]':/path/to/dest

Solution 2:

Try placing the IPv6 address in brackets, like this:

root@[2001:db8:1234:5678:feed:face:dead:beef]:/path

Solution 3:

I've run into the same issue and found out that the accepted answer did not work with my version of rsync (2.6.9) when using user@ as prefix

As a workaround you can use the -l user option of ssh:

rsync -e 'ssh -l root' /path/to/src '[fdff::ffff:ffff:ffff]:/path/to/dest'