Supongo que ya tiene alguna idea de cómo identificará el archivo que desea copiar y que puede, o ya ha escrito, un script o un conjunto de comandos que se ejecutarán en la máquina remota que realiza esta identificación .
Además, también supondré que esos comandos imprimen en la salida estándar la ruta completa al archivo, o la ruta relativa al archivo, en relación con el directorio de inicio del usuario SSH que se utiliza para la copia. En mi ejemplo, el nombre del script es "getfilepath.sh", aunque no tiene que ser un script de shell, podría ser algún otro ejecutable o incluso una serie de comandos.
# Script to be executed on local machine.
# put any leading local commands here.
FILE=$(ssh user@emote getfilepath.sh);
scp user@remotehost:"$FILE" .
# put any trailing local commands here.
En el código anterior, la notación "$ ()" es una forma de capturar la salida estándar de un comando como una variable de shell. Es bastante estándar, pero si está utilizando un shell que no lo entiende, puede rodear el comando con "tics de retroceso", que son las tildes a la izquierda de la tecla 1 en la mayoría de los teclados de EE. UU.