Windows-Skript zum Herstellen einer Verbindung zu einem Remote-SFTP-Server mit Public-Key-Authentifizierung

Windows-Skript zum Herstellen einer Verbindung zu einem Remote-SFTP-Server mit Public-Key-Authentifizierung

Ich versuche, für einen unserer Kunden eine Verbindung zu einem SFTP-Server herzustellen und Dateien in einem automatisierten Prozess unter Verwendung von MS Windows zu senden. Die Details, die ich vom Client erhalten habe, enthalten nicht das Passwort. Stattdessen habe ich das öffentlich-private Schlüsselpaar unter Verwendung von PuTTY.

Die typische verwendete Verbindungszeichenfolge ist wie folgt

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

Ich verstehe jedoch nicht, wie ich in diesem Zusammenhang anstelle des Passworts den privaten Schlüssel angeben kann. Wie teile ich dem Skript mit, wo der private Schlüssel liegt, und gibt es ein bestimmtes Schlüsselwort, das bei der Verbindung mit einem öffentlichen Schlüssel verwendet werden muss?

Ich bin neu hier, also bitte haben Sie Geduld mit mir.

Danke!

Antwort1

Ist das SFTP-Client-Tool vorhanden oder können Sie eines Ihrer Wahl verwenden? Denn wenn Sie die Freiheit der Wahl haben, dann würde ich empfehlen, es auszuprobierenSyncplify.me FTP-Skript!, mit dem Sie Skripte wie dieses schreiben können,Verwenden der kennwortlosen Public-Key-Authentifizierung:

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.

verwandte Informationen