Python:SSH到Cisco设备并运行show命令

D3l*_*ato 13 python ssh cisco

我已经广泛阅读了这篇文章,并研究了Exscript,paramiko,Fabric和pxssh,我仍然丢失了对Cisco路由器的持久ssh会话.我是python脚本的新手.

我试图在Python中编写一个脚本,将SSH连接到Cisco设备,运行"show version",在记事本中显示结果,然后结束脚本.

我可以使用不需要用户与设备交互的show命令.例如:

from Exscript.util.interact import read_login
from Exscript.protocols import SSH2

account = read_login()              
conn = SSH2()                       
conn.connect('192.168.1.11')     
conn.login(account)                 

conn.execute('show ip route')
print conn.response

conn.send('exit\r')               
conn.close()                        
Run Code Online (Sandbox Code Playgroud)

上面的脚本将显示"show ip route"的结果.

如果我尝试conn.execute('show version')脚本超时,因为Cisco设备希望用户按空格键继续,按返回显示下一行或任何键退回到命令行.

如何执行show version命令,按空格键两次以显示show version命令的整个输出,然后在python中打印?

谢谢!!!!

pet*_*mag 19

terminal length 0在跑步前尝试执行show version.例如:

from Exscript.util.interact import read_login
from Exscript.protocols import SSH2

account = read_login()              
conn = SSH2()                       
conn.connect('192.168.1.11')     
conn.login(account)  

conn.execute('terminal length 0')           

conn.execute('show version')
print conn.response

conn.send('exit\r')               
conn.close()  
Run Code Online (Sandbox Code Playgroud)

来自思科终端文档:http://www.cisco.com/en/US/docs/ios/12_1/configfun/command/reference/frd1003.html#wp1019281


Mat*_*ttH 7

首先执行

terminal length 0
Run Code Online (Sandbox Code Playgroud)

禁用分页.