【发布时间】:2018-07-26 14:04:23
【问题描述】:
我在 Huawei 设备上遇到 paramiko 的问题,这在 cisco 上完美运行,只是为了画图...
我正在创建一个简单的 SSH 脚本,我希望在给出的每个命令的末尾都有提示,这在 cisco 上也能完美运行,提示以 # 结尾,所以例如switch(config)#,但是 huawei 设备上的提示被括在括号中,如[switch]
在 huawei 用户模式下,提示符是 <switch>,paramiko expect 可以正常工作,但是在带有括号 [] 的配置模式下,它只是挂起并超时,这可能是因为方括号? python 认为这可能是一个列表?
import paramiko
from paramiko_expect import SSHClientInteraction
from os import system
system('cls')
IP = '192.168.5.2'
UN = 'username'
PW = 'password'
baseprompt = '<RICH_USG>'
sysprompt = str('[RICH_USG]')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=IP, username=UN, password=PW)
session = SSHClientInteraction(ssh, timeout=5, display=True)
print('interactive SSH session established!')
session.expect(baseprompt)
print('DEBUG ------- Baseprompt found')
session.send('screen-length 0 temporary')
session.expect(baseprompt)
session.send('sys')
session.expect(sysprompt) # This is where the script fails and times out
output = session.current_output_clean
ssh.close()
print(output)
任何建议将不胜感激
【问题讨论】:
标签: windows python-3.x paramiko pexpect