python paramiko模組的使

  • 2020 年 1 月 14 日
  • 筆記

一般使用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  #!/usr/bin/env python  #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()

Tags: