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


1

Я пытаюсь подключиться к SFTP-серверу для нашего клиента и отправить файлы в автоматическом режиме с использованием MS Windows. Данные, которые я получил от клиента, не включают пароль. Вместо этого у меня есть пара открытого и закрытого ключей, использующая PuTTY.

Типичная используемая строка подключения выглядит следующим образом

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

Я, однако, не понимаю, как указать закрытый ключ в этой связи, а не пароль. Как мне сообщить скрипту, где находится закрытый ключ и есть ли конкретное ключевое слово для использования при соединении с использованием открытого ключа?

Я новичок в этом, поэтому, пожалуйста, потерпите меня.

Спасибо!

Ответы:


0

Предоставляется ли клиентский инструмент SFTP, или вы можете использовать один из ваших вариантов? Потому что, если у вас есть свобода выбора, я бы рекомендовал попробовать Syncplify.me FTP Script! , который позволяет вам писать такие сценарии, использование аутентификации с открытым паролем без пароля :

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.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.