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.