python中實現sftp

python中想要實現sftp的話可以使用paramiko模塊

官網http://www.paramiko.org/ 其中文檔有很詳細的說明

paramiko很強大,通過python實現SSH協議。可以做到ssh遠程登錄,sftp上傳下載文件。

sftp的實現

1.通過密碼口令認證

#!/usr/bin/python
# -*- coding:utf-8 -*-
import paramiko
remotedir = "/app/ftpuser/"
hostname = "192.168.1.100"
port = 22
user = "ftpuser"
password = "123456" 

if __name__=="__main__":
    t = paramiko.Transport((hostname,port))
    t.connect(username=user,password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    print sftp.listdir(remotedir)
    t.close


2.通過密鑰認證

#!/usr/bin/python
# -*- coding:utf-8 -*-
import paramiko
remotedir = "/app/ftpuser/"
hostname = "192.168.1.100"
port = 22
user = "ftpuser"
pkey_file = "/home/aa/.ssh/id_rsa" 

if __name__=="__main__":
    key = paramiko.RSAKey.from_private_key_file(pkey_file)
    t = paramiko.Transport((hostname,port))
    t.connect(username=user,pkey=key)
    sftp = paramiko.SFTPClient.from_transport(t)
    print sftp.listdir(remotedir)
    t.close

看,用python實現sftp客戶端訪問的實現很簡單。相比較shell腳本而言,在一些業務邏輯處理方面用python實現更加方便

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章