Semelhante ao que jw013 sugeriu nos comentários com etapas de compactação / descompactação separadas, ou seja, combinar dois comandos ssh com um canal:
compress=gzip
decompress=gunzip
ssh remote1 "cd srcdir; tar cf - dir | $compress" |
ssh remote2 "cd destdir; $decompress | tar xvf -"
Observe que a compactação / descompactação é configurável sem depender da versão de tar
.
Atualizar
Você também pode adicionar verificação de soma de verificação ao canal:
compress=gzip
decompress=gunzip
ckprg=md5sum
cksum=/tmp/cksum
ssh remote1 "cd srcdir; tar cf - dir | $compress | tee <($ckprg > $cksum)" |
ssh remote2 "cd destdir; tee <($ckprg > $cksum) | $decompress | tar xvf -"
ssh remote1 cat $cksum
ssh remote2 cat $cksum