Если вы передаете только файлы (и каталоги), почему бы просто не использовать rsync поверх ssh (возможно, в bash-скрипте).Проверенный, зрелый метод.
Или вы можете смонтировать удаленную файловую систему (через ssh) в вашу собственную файловую систему, используя sshfs (fuse), а затем использовать что-то вроде pyrobocopy (реализует базовую версию функциональности rsync в Python) для передачи файлов.
Если вам не нужно инкрементальное копирование, вы можете пойти простым путем: смонтировать удаленную файловую систему с помощью sshfs(ссылка выше), а затем используйте shutil.copytree , чтобы скопировать правильный каталог.
Или еще один вариант: реализовать его с помощью paramiko Python-модуля ssh.