Python使用Paramiko控制liunx第三方庫
阿新 • • 發佈:2020-05-21
paramiko是一個基於SSH用於連線遠端伺服器並執行相關操作(SSHClient和SFTPClinet,即一個是遠端連線,一個是上傳下載服務),使用該模組可以對遠端伺服器進行命令或檔案操作,值得一說的是,fabric和ansible內部的遠端管理就是使用的paramiko來現實。
Paramiko 是Python 用於控制liunx中檔案的第三方庫,可建立檔案,修改,刪除檔案的內容等;
程式碼例項:
# -*- coding:utf-8 -*- import paramiko class ssh(object): def __init__(self,host,port,user,password): self.host = host self.port = port self.user = user self.password = password self.ssh_client = paramiko.SSHClient() self.ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.ssh_client.connect(self.host,self.port,self.user,self.password) #執行指令返回文字字串 def sftp_exec_command(self,command): arrconfiglist = [""] try: std_in,std_out,std_err = self.ssh_client.exec_command(command) for line in std_out: arrconfiglist.append(line.strip("\n")) del arrconfiglist[0] self.ssh_client.close() return arrconfiglist except Exception as e: print(e,"ssh ERROR") finally: self.ssh_client.close() #執行指令無返回 def sftp_exec_norecommand(self,command): try: self.ssh_client.exec_command(command) self.ssh_client.close() except Exception as e: print(e,"ssh ERROR") finally: self.ssh_client.close() ''' 在別的專案中被呼叫使用如下方法 import ssh as ssh if __name__ == '__main__': ssh.ssh().sftp_exec_command("--command information--") ''' ''' if __name__ == '__main__': rect = ssh().sftp_exec_command("") print(rect) '''
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。