【问题标题】:Backup router config using python使用python备份路由器配置
【发布时间】:2017-05-30 11:14:09
【问题描述】:

我正在使用 python 和 paramiko。 我正在尝试使用 python 备份网络设备路由器。下面是我的脚本。 但是我收到错误

import paramiko
import sys
import time

HOST = "10.11.214.143"
USER = "admin"
PASS = "passwd"


client1=paramiko.SSHClient()
client1.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client1.connect(HOST,username=USER,password=PASS)
  print "SSH connection to %s established" %HOST

#copying config to tftp
stdin, stdout, stderr = client1.exec_command('copy nvram:startup-config tftp: 10.11.214.144')
print stdout.read()


Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    client1.exec_command('copy nvram:startup-config tftp:')
  File "C:\Python27\lib\site-packages\paramiko\client.py", line 436, in exec_command
    chan = self._transport.open_session(timeout=timeout)
  File "C:\Python27\lib\site-packages\paramiko\transport.py", line 716, in open_session
    timeout=timeout)
  File "C:\Python27\lib\site-packages\paramiko\transport.py", line 800, in open_channel
    raise SSHException('SSH session not active')
SSHException: SSH session not active

【问题讨论】:

标签: python python-2.7 paramiko cisco cisco-ios


【解决方案1】:

您可以尝试以下方法;我看到 exec_command() 对某些路由器失败,但我不能保证它适合您的问题:

import paramiko
import sys
import time

HOST = "10.11.214.143"
USER = "admin"
PASS = "passwd"


client1=paramiko.SSHClient()
client1.set_missing_host_key_policy(paramiko.AutoAddPolicy())

client1.connect(HOST,username=USER,password=PASS)
print "SSH connection to %s established" %HOST

console = client1.invoke_shell()
console.recv(65535)

console.send("copy nvram:startup-config tftp: 10.11.214.144\n")

# Adjust sleep as it's needed by your command
time.sleep(.5)
console.recv(65535)

# Eventually quit gracefully with the right command
console.send("quit\n")
time.sleep(.5)

client1.close()

【讨论】:

  • copy nvram:startup-config tftp: 10.11.214.144\r\n ^\r\n% Invalid input detected at '^' marker.\r\n\r\nR2&gt;
  • 复制时出错..我认为语法或我们可能还必须指定复制的文件名
  • 远程主机的地址或名称和目标文件名我们可以在命令本身中指定这两个参数。手动执行此命令时会询问此参数
  • 抱歉,我无法帮助您在遥控器上发出特定命令...
  • 能否在脚本中指定参数
猜你喜欢
  • 2019-04-13
  • 2016-03-28
  • 2018-02-28
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
相关资源
最近更新 更多