1. 程式人生 > >python入門之paramiko模塊

python入門之paramiko模塊

and 連接 nbsp 當前 hostname mis 目錄 port id_rsa

  paramiko用於實現ssh遠程連接服務器執行相關操作。

  paramiko與之依賴模塊cryptography最好版本相同,不然可能執行程序會出錯。

一、ssh連接服務器執行命令

 1 import paramiko
 2 
 3 # 創建SSH對象
 4 ssh = paramiko.SSHClient()
 5 # 允許連接不在know_hosts文件裏的主機,如果沒有這條,第一次連接會報錯
 6 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 7 # 連接服務器
 8 ssh.connect(hostname="
192.168.0.102",port=22,username="root",password="123456") 9 # ssh.connect(hostname="192.168.0.102",port=22,username="root",pkey="id_rsa") 當前目錄下有密鑰文件,可以使用密鑰安全連接 10 # 執行命令,返回標準輸入,標準輸出,標準錯誤,並不是同時有結果 11 stdin,stdout,stderr = ssh.exec_command("top") 12 # 獲取命令結果,三元運算,誰有值就輸出誰 13 out,err = stdout.read(),stderr.read()
14 res = out if out else err 15 print(res.decode()) 16 # 關閉連接 17 ssh.close()

二、ssh連接服務器上傳下載文件

 1 import paramiko
 2 
 3 # 建立一個連接通道
 4 transport = paramiko.Transport(("192.168.0.102",22))
 5 transport.connect(username="root",password="123456")
 6 # transport.connect(username="root",pkey="id_rsa")  當前目錄下有密鑰文件,可以使用密鑰安全連接
7 8 # 以設定的方式開始連接 9 sftp = paramiko.SFTPClient.from_transport(transport) 10 # 上傳 11 sftp.put(/data/123.txt,/opt/321.txt) 12 # 下載 13 sftp.get(/data/abc.txt,cba.txt) 14 15 transport.close()

python入門之paramiko模塊