Самый быстрый способ, который я знаю, - это дистанционно создать tar.gz, передать его через SSH и развернуть локально:
ssh user@remotehost 'find /remote/path/ -name "*.png" -print0 2>/dev/null | xargs -0 tar cfz - ' | tar xvfz -
Это будет работать с именами файлов с пробелами и быстрее, чем scp -r и много быстрее, чем scp для каждого файла.