Script de Windows para conectarse a un servidor SFTP remoto con autenticación de clave pública

Script de Windows para conectarse a un servidor SFTP remoto con autenticación de clave pública

Estoy intentando conectarme a un servidor SFTP para un cliente nuestro y enviar archivos en un proceso automatizado usando MS Windows. Los detalles que he recibido del cliente no incluyen la contraseña. En cambio, tengo el par de claves pública-privada usando PuTTY.

La cadena de conexión típica utilizada es la siguiente

open sftp://username:password.SFTPURL:port -hostkey="ssh-dss 1024 XXXXXXX"

Sin embargo, no entiendo cómo especificar la clave privada en este sentido, en lugar de la contraseña. ¿Cómo le digo al script dónde se encuentra la clave privada? ¿Hay alguna palabra clave en particular para usar al conectarme usando la clave pública?

Soy nuevo en esto así que tengan paciencia conmigo.

¡Gracias!

Respuesta1

¿Se proporciona la herramienta de cliente SFTP o puede utilizar una de su elección? Porque si tienes la libertad de elegir, te recomiendo que pruebes.¡Secuencia de comandos FTP de Syncplify.me!, que te permite escribir scripts como este,usando autenticación de clave pública sin contraseña:

var
  Cli: TSFTPClient;
begin
  Cli := TSFTPClient.Create;
  try
    Cli.ServerAddr := 'your.remote.host';
    Cli.Username := 'username';
    Cli.AddPK('c:\user_key.rsa');
    if Cli.Open then
    begin
      // Add your code here...
      // ...      
      Cli.Close;
    end;
  finally
    Cli.Free;
  end;
end.

información relacionada