Script do Windows para conexão ao servidor SFTP remoto com autenticação de chave pública

Script do Windows para conexão ao servidor SFTP remoto com autenticação de chave pública

Estou tentando me conectar a um servidor SFTP de um cliente nosso e enviar arquivos em um processo automatizado usando o MS Windows. Os detalhes que recebi do cliente não incluem a senha. Em vez disso, tenho o par de chaves pública-privada usando PuTTY.

A string de conexão típica usada é a seguinte

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

No entanto, não entendo como especificar a chave privada nesta conexão, em vez da senha. Como posso informar ao script onde está a chave privada e se existe uma palavra-chave específica para usar ao conectar-se usando a chave pública?

Eu sou novo nisso, então, por favor, tenha paciência comigo.

Obrigado!

Responder1

A ferramenta cliente SFTP é fornecida ou você pode usar uma de sua escolha? Porque se você tiver liberdade de escolha, eu recomendaria experimentarScript FTP do Syncplify.me!, que permite escrever scripts como este,usando autenticação de chave pública sem senha:

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.

informação relacionada