Python 使用paramiko.Transport SSH方式登录路由器执行命令

import paramiko

t = paramiko.Transport(('x.x.x.x',22))   # 设置SSH连接的远程主机地址和端口
t.connect(username='xxx',password='xxx')   # 设置登陆用户名和密码等参数
chan=t.open_session()   # 连接成功后打开一个channel
chan.settimeout(15)     # 设置会话超时时间
chan.get_pty()          # 打开远程的terminal
chan.invoke_shell()     # 激活terminal
chan.send("display current-configuration\n")
chan.send(" "*60)
time.sleep(5)   # 如果程序执行的太快,没有等到返回足够的信息,chan.recv(65535)不能得到想要的结果
# 使用一些条件循环,判断什么时候读取返回结果,实际经常报错啊!
# str.chan.recv(65535)
# while not str.endswith('#'):
#     str=chan.recv(65535)    #recv_buffer=65535
f = open("D:\\t.txt","w")
f.write(chan.recv(65535).decode('ascii'))
f.close()
t.close()

你可能感兴趣的:(Python)