본문 바로가기
프로그래밍/delphi

DELPHI 이용 psftp (putty)로 sftp 접근 및 파일업로드

by 메르세데쓰 2022. 9. 9.
반응형

안녕하세요!

 

지난번엔 DELPHI로 SSH 터미널 접근 및 쉘스크립트를 실행을 해봤는데..

 

이번에는 SFTP로 접근하고 파일을 업로드하는 걸 DELPHI(델파이)로 만들어 보겠습니다.  이번에도 PUTTY에서 제공해주는 무료 인터페이스 psftp.exe를 갖고 진행해보도록 하겠습니다.

 

마찬가지로 해당 파일은 PUTTY사이트에서 무료로 다운로드하실 수 있습니다.

 

psftp.exe  (putty)

 

해당 파일이 있는 링크는 아래와 같습니다.

 

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

 

델파이를 열고 버튼을 하나 만들었습니다. 클릭 시 원하는 파일을 업로드하는 것입니다.

 

delphi sftp예제

 

간단합니다. 소스도 간단합니다!

 

참고로 SSH와 SFTP는 기본적으로 동일한 포트번호(22)를 사용합니다. 서버 구성시 일반적으로 SSH를 구성하면 SFTP도 같이 서비스됩니다.

procedure TForm1.Button2Click(Sender: TObject);
var t_STR : String;
begin
          //test2.txt는 실행해야 할 명령어가 들어있습니다.
          
          t_STR := ' 서버ip -P 포트번호 -l 계정명 -pw 비번 -b test2.txt';
          
          //SW_HIDE   SW_SHOWNORMAL
          ShellExecute(Handle, 'runas', 'psftp.exe',PChar(String(t_STR)),'' , SW_HIDE);   


end;

 

test2.txt 안에.. 원하는 명령어를 입력해 놓으면 됩니다.

 

 

notepad - script sftp

 

보시면 아시겠지만...  log 디렉터리로 이동하고.. 내 컴퓨터 안에 있는 plink.exe 파일을 업로드하라는 것입니다.

 

이걸 조금 변형하면.. 원하는 것을 할 수 있습니다. 반대로 다운로드할 수도 있습니다.

delphi psftp 이용 sftp 파일 업로드

 

버튼 클릭 전 해당 경로에 파일이 있는지 조회하고 클릭 후 다시 조회를 하면 위처럼 업로드되었음을 확인할 수 있습니다!

 

감사합니다!

반응형

댓글