system A <-> system B
rcp for non-interactive use system B needs a valid IP@ or hostname for systemA in ~/.rhosts (chmod 600 ~/.rhosts), with -r recursive get/put
rexec for non-interactive use system A needs a valid entry in the ~/.netrc file with username and password (machine systemB login username password userpassword init macdef)
ftp non-recursive
ncftpget can do recurseive FTP get with -R
ncftpput FTP put, similar to ncftpget
wget can do recursive HTTP get with -r
ftpcopy can do recursive FTP
curl can do a lot of stuff
You can also mount a NFS filesystem from the other host to your local and do the traditional (in this case with Kornshell):
cd /nfsmountedfilesystem
tar cf - .|(cd /localfilesystemtocopyto&&tar xvf -)
Or why not pipe trough rsh:
rsh "cd /directory&&tar cf - ."|(cd /localdirectory&&tar xvf -)
However if this needs some padding and fiddling depending on rsh/rshd implementations.