scp no es muy inteligente: cuando se le dan múltiples argumentos de línea de comando que son archivos del mismo host remoto, abre una nueva conexión para cada argumento.
Puede usar en rsynclugar de scp, es más inteligente de esta manera (y de otras maneras).
rsync -r -e 'ssh -P PORT' user@host:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/
Otro enfoque es pasar un argumento único scpque describa múltiples archivos .
Un enfoque diferente es configurar su sistema para que no tenga que autenticarse todo el tiempo. Preferiblemente, configure la autenticación de clave , que en la mayoría de los escenarios es más conveniente y más segura. Alternativamente, o además, configure el uso compartido de la conexión , de modo que solo necesite autenticarse una vez por sesión. En cualquier caso, configure un alias para que no tenga que especificar el nombre de usuario y el puerto cada vez. En su ~/.ssh/config:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Host nick
HostName real-host-name.example.com
User bob
Port 1234
Ejecutar ssh -Nf nickpara abrir una conexión, y luego todas las conexiones posteriores se conectarán a nickla conexión existente. Ahora puedes correr
scp -r nick:/home/user/something/{file1,folder1,folder2,folder3,folder4} folder/folder2/