python paramiko模組管理SSH

zhangsharp20發表於2017-09-20
參考地址:http://lihuipeng.blog.51cto.com/3064864/1071125/

下面是兩種使用paramiko連線到linux伺服器的程式碼
方式一:
  1. ssh = paramiko.SSHClient() 
  2. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  3. ssh.connect("某IP地址",22,"使用者名稱""口令"
上面的第二行程式碼的作用是允許連線不在know_hosts檔案中的主機
方式二:
  1. t = paramiko.Transport((“主機”,”埠”)) 
  2. t.connect(username = “使用者名稱”, password = “口令”) 
如果連線遠端主機需要提供金鑰,上面第二行程式碼可改成:
  1. t.connect(username = “使用者名稱”, password = “口令”, hostkey=”金鑰”) 
例子:
  1. #!/usr/bin/python   
  2. import paramiko 
  3.   
  4. ssh = paramiko.SSHClient() 
  5. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
  6. ssh.connect("某IP地址",22,"使用者名稱", "口令") 
  7. stdin, stdout, stderr = ssh.exec_command("你的命令")print stdout.readlines() 
  8. ssh.close() 
下載linux伺服器上的檔案
  1. #!/usr/bin/python   
  2. import paramiko 
  3.   
  4. t = paramiko.Transport((“主機”,”埠”)) 
  5. t.connect(username = “使用者名稱”, password = “口令”) 
  6. sftp = paramiko.SFTPClient.from_transport(t) 
  7. remotepath=’/var/log/system.log’ 
  8. localpath=’/tmp/system.log’ 
  9. sftp.get(remotepath, localpath) 
  10. t.close() 
上傳檔案到linux伺服器
  1. #!/usr/bin/python   
  2. import paramiko 
  3.  
  4. t = paramiko.Transport((“主機”,”埠”)) 
  5. t.connect(username = “使用者名稱”, password = “口令”) 
  6. sftp = paramiko.SFTPClient.from_transport(t) 
  7. remotepath=’/var/log/system.log’ 
  8. localpath=’/tmp/system.log’ 
  9. sftp.put(localpath,remotepath) 
  10. t.close() 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-2145223/,如需轉載,請註明出處,否則將追究法律責任。

相關文章