IT 관련/파이썬

파이썬 파일 올리고 내리기(sftp)

과정에서 오는 행복 2022. 5. 20. 13:25

[사전작업]
>>> pip install paramiko


[코드]  - 서버는 linux서버임
import paramiko

try:
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
    ssh.connect("서버주소", username ="ID", password ="PW")
    ssh.connect("www.naver.com", username ="dbuser", password ="support!@#")

    print("연결되었습니다.")

    stdin,  stdout, stderr = ssh.exec_command("ls -l")
    lines = stdout.readlines()    

    for i in lines:
        print(i)          # -rw-rw-r-- 1 dbuser dbuser 431860 May 20 04:19 check_mayonnaise.png
   
    sftp = ssh.open_sftp()
    sftp.put("check_naver.png", "lee_test.png")     # 파일 올리기

    stdin,  stdout, stderr = ssh.exec_command("ls -l")
    lines = stdout.readlines()    

    for i in lines:
        print(i)          
       # -rw-rw-r-- 1 dbuser dbuser 431860 May 20 04:19 check_mayonnaise.png
       # -rw-rw-r-- 1 dbuser dbuser  41510 May 20 04:20 HMM_noname.xlsx
       # -rw-rw-r-- 1 dbuser dbuser  99867 May 20 04:19 lee_test.png

    sftp = ssh.open_sftp()
    sftp.get("lee_test.png", "download.png")     # 파일 내려받기

    ssh.close()

except Exception as err:
    print(err)      # Authentication failed.


[결과]
 해당 서버로 check_naver.png 파일이 lee_test.png파일로 해서 업로드 됨
 서버상의 lee_test.png파일이 내PC의 download.png파일로 내려받아짐 (파일과 같은 경로)

반응형