La manera que he hecho esto es crear un archivo de comandos de comandos y pasarlo en la línea de comandos a través del comando/b a psftp.exe. También probé esto en Perl y todavía tengo que encontrar una manera más ordenada de hacerlo.
Existe un problema con este método, ya que ya debe haber aceptado la huella dactilar de RSA. De lo contrario, el script esperará a que el usuario lo ingrese para aceptarlo o lo saltará si está ejecutando en modo de lote completo, con un error. Además, si el servidor cambia para que su huella dactilar RSA cambie (por ejemplo, un clúster), entonces debe volver a aceptar la huella dactilar de nuevo.
No es un método ideal, pero el único que conozco.
Estaré mirando esta pregunta en caso de que alguien sepa de otra manera.
scp es diferente de sftp, pero ambos son bastante seguros. masilla incluye psftp.exe. –