我正在尝试使用pythonparamiko在测试环境中ssh到一个测试cisco路由器,并在该测试路由器中运行cisco命令。在
除了一个小细节,一切都很好。 运行脚本之后,我希望ssh会话保持打开状态。(这样我就可以手动运行其他命令)。 我希望在键入“exit”之前保持ssh会话打开 我发现了另一个类似问题的链接,但我无法理解解决方案。 (见此处Python ssh - keep connection open after script terminates)
如果有人能帮我,我会很感激的
我的代码
import paramiko
import time
def ssh_session(ip):
try:
session = paramiko.SSHClient() #Open the session
session.set_missing_host_key_policy(paramiko.AutoAddPolicy())
session.connect(ip, username = "ciscouser1", password = "password")
connection = session.invoke_shell()
####Running Cisco IOS commands###
connection.send("enable\n")
connection.send("password1") #sending
connection.send("\n")
connection.send("configure terminal\n\n")
time.sleep(1)
connection.send("do show ip int brief\n")
time.sleep(1)
except paramiko.AuthenticationException:
print "wrong credentials"
ssh_session("10.10.10.1")
会话超时由SSH服务器控制。据我所知,在客户端保持会话活动的唯一方法是不要处于非活动状态,这可以通过sending null packets来实现。至于如何与帕拉米科具体做这一点我不确定。也许您可以发送某种虚拟命令(或者甚至可以发送一个空字符串?)每隔一段时间?在
相关问题 更多 >
编程相关推荐