A ferramenta cliente SFTP é fornecida ou você pode usar uma de sua escolha? Porque se você tiver a liberdade de escolher, então eu recomendo testar o Script FTP Syncplify.me! , que permite que você escreva 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.