Я использовал для этого cwRsync (это порт rsync для Windows). При этом у меня уже были ключи, созданные в Putty, и сделаны необходимые настройки на хостинге, чтобы подключаться в Putty по ssh.
Оставалось доработать скрипт cwrsync.cmd, шедший в пакете с cwRsync. Это файл-заготовка, куда нужно было поместить свою команду для копирования файлов.
rsync -e "ssh -l <мой логин> -i <путь к файлу с закрытым ключом>" -rlpt <хост-источник>:<исходная папка>/ <конечная папка>/
Здесь в путях важен закрывающий слеш (потому я его оставил так явно). Конечная папка, увы, в имени не может содержать русских букв.
Если ssh отзывается не на порту 22, а на другом, то потребуется ключ p для ssh.
rsync -e "ssh -l <мой логин> -i <путь к файлу с закрытым ключом> -p <порт>" -rlpt <хост-источник>:<исходная папка>/ <конечная папка>/
Если закрытый ключ зашифрован, будет запрошен пароль к нему.
Добавления после ввода платности на cwRsync
Да, он платный. На момент написания статьи был бесплатным. Но, авторы оставили бесплатный вариант. Я проверил на своей Windows 8 — версия 4.0.5-free работает и все, что описано в статье реально и сейчас.
Исходный пакет (rsync) не обновлялся с 23.09.2011 (что явно раньше официального выхода Windows 8). cygwin обновлялась последний раз 20.10.2012 (за неделю до Windows 8). Проверить поддержку Windows 8 в cygwin я не смог (сайт у них не простой). Но, в общем-то ясно, что собирать cwRsync самому смысла нет.