공개 키 인증을 사용하여 원격 SFTP 서버에 연결하기 위한 Windows 스크립트

공개 키 인증을 사용하여 원격 SFTP 서버에 연결하기 위한 Windows 스크립트

우리 클라이언트의 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.

관련 정보