我使用了python和Paramiko。Im正在尝试使用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
您可以尝试以下方法;我看到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()
我是vertx的新手,所以可能我做错了什么。我正在尝试实施以下路线: 这是避免在所有处理程序中重复此逻辑的正确方法吗? 我试图链接处理程序,处理程序从路径中读取参数,试图找到相应的用户,并将该用户放入上下文中。如果未找到用户,则返回状态代码400。否则将调用下一个处理程序。我想对参数应用相同的原则。 在尝试实现这一点时,我认为我发现了路径的问题,更具体地说是尾部的斜线和星形。文档中指出,后面的斜杠
每个路由可以有不同的属性; 一些常见的属性是: path - 应用程序在特定路由上时在浏览器中显示的URL component - 当应用程序在特定路由上时要呈现的组件 pathMatch - 默认为’prefix’的可选属性。 确定是匹配完整的网址还是仅匹配开头。 当定义一个具有空路径字符串的路径设置pathMatch为’full’时,否则它将匹配所有路径。 children - 表示此路由的子
ASUS 华硕路由器 注意 Windows 所装 Home Assistant 无法使用此组件。 更新提示 本插件配置方法自 0.82 版本开始发生变化,请及时更新。 使用前请前往路由器管理界面 —— 系统管理 —— Enable SSH 或 启动 Telnet asuswrt: host: 路由器IP username: 路由器账号 password: 路由器密码 protoc
Tango支持4种形式的路由匹配规则 静态路由 tg.Get("/", new(Action)) tg.Get("/static", new(Action))匹配 URL:/ 到 Action结构体的Get函数 匹配 URL:/static 到 Action结构体的Get函数 命名路由 tg.Get("/:name", new(Action)) tg.Get("/(:name)", new(Act
我想从API中读取要显示的产品。然后,当我按下其中一个显示的产品时,它应该使用url中的产品ID和要在页面上查看的产品详细信息将我路由到一个组件,以获取有关该产品的详细信息。我在这里读取了API中的数据,并详细显示了产品。 我想通过产品ID添加一个路由链接。如何将详细信息作为其他组件的道具发送?
试图使某些路由需要身份验证。 我有这个: 注意:是的,身份验证服务正常工作。 对于每个路由,我检查用户是否经过身份验证,如果没有,那么我想将他们重定向到登录页面,如果他们是,那么它将在第一个页面上着陆,路由为"/"。 我得到的只是: 我哪里做错了?