paramiko操作详解(封装好的类,可以直接使用)

1 #encoding:utf8
 2 
 3 import paramiko
 4 
 5 class Ssh_server:
 6     def __init__(self,hostname,port,username,password):
 7         self.hostname = hostname
 8         self.password = password
 9         self.port = int(port)
10         self.username = username
11         self.ssh = paramiko.SSHClient() # 创建SSH对象
12         self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 允许连接不在know_hosts文件中的主机
13         self.ssh.connect(self.hostname,self.port,self.username,self.password)   # 连接服务器
14         self.ssh_sftp=self.ssh.open_sftp()
15 
16     def run_cmd(self,cmd):  #cmd为传入的命令
17         stdin, stdout, stderr = self.ssh.exec_command(cmd)
18         return stdout.read()
19 
20     def put(self,localpath,remotepath): #上传方法
21         self.ssh_sftp.put(localpath,remotepath)
22 
23     def get(self,remotepath,localpath): #下载方法
24         self.ssh_sftp.get(remotepath,localpath)
25 
26     def close(self):    #关闭连接
27         self.ssh_sftp.close()
28         self.ssh.close()
29 
30 if __name__ == __main__:
31     ssh_obj = Ssh_server(172.16.160.99,22,root,!QAZ2wsx)
32     res = ssh_obj.run_cmd(df -h)
33     print(res.decode(utf-8))
34     ssh_obj.close()
1 #encoding:utf8 2 3 import paramiko 4 5 class Ssh_server: 6 def __init__(self,hostname,port,username,password): 7 self.hostname = hostname 8 self.password = password 9 self.port = int(port) 10 self.username = username 11 self.ssh = paramiko.SSHClient() # 创建SSH对象 12 self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接不在know_hosts文件中的主机 13 self.ssh.connect(self.hostname,self.port,self.username,self.password) # 连接服务器 14 self.ssh_sftp=self.ssh.open_sftp() 15 16 def run_cmd(self,cmd): #cmd为传入的命令 17 stdin, stdout, stderr = self.ssh.exec_command(cmd) 18 return stdout.read() 19 20 def put(self,localpath,remotepath): #上传方法 21 self.ssh_sftp.put(localpath,remotepath) 22 23 def get(self,remotepath,localpath): #下载方法 24 self.ssh_sftp.get(remotepath,localpath) 25 26 def close(self): #关闭连接 27 self.ssh_sftp.close() 28 self.ssh.close() 29 30 if __name__ == __main__: 31 ssh_obj = Ssh_server(172.16.160.99,22,root,!QAZ2wsx) 32 res = ssh_obj.run_cmd(df -h) 33 print(res.decode(utf-8)) 34 ssh_obj.close()

https://www.cnblogs.com/djoker/p/5906711.html

1 #encoding:utf8 2 3 import paramiko 4 5 class Ssh_server: 6 def __init__(self,hostname,port,username,password): 7 self.hostname = hostname 8 self.password = password 9 self.port = int(port) 10 self.username = username 11 self.ssh = paramiko.SSHClient() # 创建SSH对象 12 self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接不在know_hosts文件中的主机 13 self.ssh.connect(self.hostname,self.port,self.username,self.password) # 连接服务器 14 self.ssh_sftp=self.ssh.open_sftp() 15 16 def run_cmd(self,cmd): #cmd为传入的命令 17 stdin, stdout, stderr = self.ssh.exec_command(cmd) 18 return stdout.read() 19 20 def put(self,localpath,remotepath): #上传方法 21 self.ssh_sftp.put(localpath,remotepath) 22 23 def get(self,remotepath,localpath): #下载方法 24 self.ssh_sftp.get(remotepath,localpath) 25 26 def close(self): #关闭连接 27 self.ssh_sftp.close() 28 self.ssh.close() 29 30 if __name__ == __main__: 31 ssh_obj = Ssh_server(172.16.160.99,22,root,!QAZ2wsx) 32 res = ssh_obj.run_cmd(df -h) 33 print(res.decode(utf-8)) 34 ssh_obj.close() https://www.cnblogs.com/djoker/p/5906711.html
经验分享 程序员 微信小程序 职场和发展