If you were to try zfs send blahblah... | ssh server sh -c 'cat > /tmp/zfs.test' And then on a server did a zfs recv < /tmp/zfs.test, does that work? That would narrow the problem down to ssh mangling the data or zfs recv not properly reading from the pipe, I think.