Assuming you have sshd running on at least one of the machines you can use scp or rsync (over ssh)
Eg using rsync.
user@sourcehost% rsync -auv -e ssh /path/to/dir/ desthost:/path/to/some/dir/
The above will work if you have sshd running on the destination machine. If you only have sshd running on the source machine you would just do something like the following
user@desthost% rsync -auv -e ssh sourcehost:/path/to/dir/ /path/to/some/dir/
You can read the rsync man page for details.