Uses SSH to execute commands on the remote machine that result in files being copied or moved around on the remote machine or to/from the remote machine.
Has the one massive disadvantage that because of the way it functions, it requires the account on the remote end to allow access to a shell or something that simulates a shell. Shell access is not always feasible (for instance, regular users of the toothycat.net mail server do not have shell accounts), and writing a secure script that reliably distinguishes between acceptable commands and ones that would breach security is hard.