Я пытаюсь подключиться к серверу SFTP для нашего клиента и отправить файлы в автоматическом процессе с помощью MS Windows. Данные, которые я получил от клиента, не включают пароль. Вместо этого у меня есть пара открытого и закрытого ключей с помощью PuTTY.
Типичная используемая строка подключения выглядит следующим образом:
open sftp://username:password.SFTPURL:port -hostkey="ssh-dss 1024 XXXXXXX"
Однако я не понимаю, как указать закрытый ключ в этом соединении вместо пароля. Как мне сообщить скрипту, где находится закрытый ключ, и есть ли определенное ключевое слово, которое нужно использовать при подключении с использованием открытого ключа?
Я новичок в этом деле, поэтому, пожалуйста, отнеситесь ко мне с пониманием.
Спасибо!
решение1
Предоставляется ли клиентский инструмент SFTP или вы можете использовать его по своему выбору? Потому что если у вас есть свобода выбора, то я бы рекомендовал попробоватьFTP-скрипт Syncplify.me!, который позволяет вам писать такие скрипты,использование аутентификации с открытым ключом без пароля:
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.