Como um exemplo direto do seu pseudocódigo,
scp file remote:/tmp/file
ssh remote 'cd /tmp; cat file >another; rm another'
scp remote:/tmp/another /tmp
Talvez você queira evitar o uso de arquivos temporários; Se você pode usar a entrada padrão e saída padrão para isso, você pode se safar com algo como
ssh remote 'remotescriptname' <input >output
... assumindo remotescriptname
pode ler entrada padrão e acabar produzindo o resultado na saída padrão. (Você vai querer evitar comandos ruidosos como make
de produzir qualquer saída na saída padrão; make -s
é seu amigo.)
Você notará que pode ter um fragmento complexo de script de shell entre aspas simples. Não precisa ser um programa remotescriptname
se você preferir colocar toda a linha de comando dos comandos individuais entre as aspas simples, como no meu primeiro exemplo; mas você pode querer de qualquer maneira, porque um script auto-contido é mais fácil de depurar e manter.