python paramiko模塊的使



一般使用paramiko的功能就是通過ssh遠程執行命令,遠程(上傳、下載)傳輸文件等等

依賴包:/usr/local/python27/bin/pip install pycrypto

下載包 paramiko

#wget http://en.onlinedown.net/down/paramiko-1.7.7.1.zip

#unzip paramiko-1.7.7.1.zip

#cd paramiko-1.7.7.1

#python setup.py build

#python setup.py install


測試腳本

#vim paramiko.py

#!/usr/bin/env python

import paramiko            \\導入模塊   

hostname='192.168.10.106'   \\定義需要鏈接的主機

port=22                      \\定義鏈接的端口

username='root'               \\定義鏈接的賬號

password='123456'              \\定義登陸密碼


if __name__=='__main__':        \\如果當前的模塊名稱等於啓動的主模塊運行,就執行如下

    paramiko.util.log_to_file('paramiko.log')   \\指定執行的日誌文件,日誌名爲paramiko.log

    s=paramiko.SSHClient()          \\創建客戶端鏈接服務端的對象s

    s.load_system_host_keys()        \\ 加載主機祕鑰

    s.connect(hostname,port,username,password)  \\鏈接主機

    stdin,stdout,stderr=s.exec_command('ifconfig')  

                  \\執行命令 ifconfig    stdin:標準輸入stdout:標準輸出 stderr:標準錯誤

    print stdout.read() \\打印標準輸出的結果

    s.close()            \\關閉鏈接





從服務器端上傳或下載文件


#!/usr/bin/env python

import paramiko      導入模塊   

import os

hostname='192.168.10.106'   \\定義需要鏈接的主機

port=22                      \\定義鏈接的端口

username='root'               \\定義鏈接的賬號

password='123456'              \\定義登陸密碼

dir_path='/home/soul/temp'      \\定義請求下載的文件路徑


if __name__=='__main__':

t=paramiko.Transport((hostname,port))   \\創建一個傳輸對象

t.connect(username=username,password=password)  \\建立鏈接服務器

sftp=paramiko.SFTPClient.from_transport(t)       \\創建一個下載傳輸對象sftp

files=sftp.listdir(dir_path) 

                   \\建立一個files對象,用於存放listdir從指定的路徑dir_path中拿到的文件

for f in files:          \\定義f從存放的文件中輪詢

   print 'Retrieving',f  \\打印拿到的文件名稱

   sftp.get(os.path.join(dir_path,f),f)   \\從指定路徑下 下載文件

   t.close()        \\關閉鏈接

下載:get  上傳put

如從本地將/home/soul/temp/paramiko-1.7.7.1.zip文件上傳到服務器的/home/路徑下

sftp.put('/home/soul/temp/paramiko-1.7.7.1.zip','/home/paramiko-1.7.7.1.zip')

t.close()


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