我正在嘗試為我們的客戶端連接到 SFTP 伺服器,並使用 MS Windows 以自動化程序傳送檔案。我從客戶收到的詳細資訊不包括密碼。相反,我使用 PuTTY 獲得公鑰-私鑰對。
使用的典型連接字串如下
open sftp://username:password.SFTPURL:port -hostkey="ssh-dss 1024 XXXXXXX"
然而,我不明白如何在此連接中指定私鑰而不是密碼。如何告訴腳本私鑰所在的位置以及使用公鑰連線時是否需要使用特定的關鍵字?
我是新手,所以請耐心等待。
謝謝!
答案1
是否提供了 SFTP 用戶端工具,或者您可以使用您選擇的工具嗎?因為如果你有選擇的自由,那我建議你試試看Syncplify.me FTP 腳本!,它允許您編寫這樣的腳本,使用無密碼公鑰身份驗證:
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.