Скрипт Windows для подключения к удаленному SFTP-серверу с аутентификацией по открытому ключу

Скрипт Windows для подключения к удаленному SFTP-серверу с аутентификацией по открытому ключу

Я пытаюсь подключиться к серверу 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.

Связанный контент