使用paramiko进行ssh访问或sftp操作
import re import paramiko prompt=re.compile("(\[.*\]$)|(<.*>$)") def do_sftp(action="get",filename=None,host=None,port=None,user=None,password=None): a=paramiko.client.SSHClient() a.set_missing_host_key_policy(paramiko.client.AutoAddPolicy) a.connect( hostname=host, port=port, username=user, password=password ) b=a.open_sftp() if action=="get": b.get(filename,filename) elif action=="put": b.put(filename, filename) else: print("请输入正确的操作符get或者put") b.close() a.close() def do_ssh(host=None,port=None,user=None,password=None,cmds=None): a=paramiko.client.SSHClient() a.set_missing_host_key_policy(paramiko.client.AutoAddPolicy) a.connect( hostname=host, port=port, username=user, password=password ) b=a.invoke_shell() c="" for cmd in cmds: b.send(cmd+"\n") while 1: d = b.recv(65535).decode("utf-8") c = c + d if prompt.search(d): # if (">" in d) or ("]" in d): break b.close() a.close() print(c) do_ssh("10.98.249.12","22","huawei","Admin@123",["scr 0 temp","dis ip inter brief","dis inter brief"]) #do_sftp("get1","device.sys","10.98.249.12",22,"huawei","Admin@123")
标签: python
发表评论: