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