Well, unfortunately you will have to set up ssh on the client - but it wont need to be publicly accessible(sorta)
I recommend using the Key based sshd setup for client, described in previous post here.
on host/server(target to backup):
$sudo zfs snapshot -r zroot@snapname
zroot is default zpool for a freebsd install
on client(the backup):
$sudo zfs allow -u username compression,mountpoint,create,mount,receive backuppool
Above is assuming you didnt enable root login and dont plan on logging in as root.
$sudo service sshd onestart
$YOURSECUREPORT is what ever port you normally use for your server(not one you just set up) and $YOURLOCALSSHPORT is whatever port you just setup(client).
$ssh -i ./.ssh/id_rsa_yourserver -p $YOURSECUREPORT -f -N -T -R 2022:localhost:$YOURLOCALSSHPORT email@example.com
back on backup target/host server:
$sudo zfs send -R zroot@snapname | ssh -t clientusername@localhost -p 2022 zfs recv backuppool/backupname -o mountpoint=/srv
There will be some issues with setuid and exec permissions, but data will be mostly backed up - you could solve this with root login but it would be much less secure.