所以我终于让exscript正常工作了(我想)。我想测试它,所以我设置了一个简单的python脚本,我相信它应该可以工作:
from Exscript.util.interact import read_login
from Exscript.protocols import SSH2
account = read_login()
conn = SSH2()
conn.connect('router.domain.com')
conn.login(account)
conn.execute('terminal length 0')
conn.execute('show version')
print conn.response
conn.send('exit\r')
conn.close()我运行该脚本,并看到以下内容:
kidd@server scripts$ python test1.py
Please enter your user name [kidd]:
Please enter your password:它在那里停留了大约20秒,然后我得到了这个:
Traceback (most recent call last):
File "test1.py", line 7, in <module>
conn.login(account)
File "/usr/lib/python2.7/site-packages/Exscript/protocols/Protocol.py", line 597, in login
self.auto_app_authorize(app_account, flush = flush)
File "/usr/lib/python2.7/site-packages/Exscript/protocols/Protocol.py", line 846, in auto_app_authorize
self.get_driver().auto_authorize(self, account, flush, bailout)
File "/usr/lib/python2.7/site-packages/Exscript/protocols/drivers/one_os.py", line 43, in auto_authorize
conn.app_authorize(account, flush, bailout)
File "/usr/lib/python2.7/site-packages/Exscript/protocols/Protocol.py", line 820, in app_authorize
self._app_authenticate(account, password, flush, bailout)
File "/usr/lib/python2.7/site-packages/Exscript/protocols/Protocol.py", line 690, in _app_authenticate
raise TimeoutException(msg)
Exscript.protocols.Exception.TimeoutException: Buffer: '\rThis is a private system \r\n \r\nrouter>'我错过了什么简单的东西吗?只是尝试登录到路由器(作为普通用户,非特权模式),运行一个show版本,然后注销。任何帮助都将不胜感激。谢谢。
发布于 2012-12-29 01:30:27
看起来您配置的横幅干扰了Exscript期望从设备返回的提示符。我建议要么调整Exscript中的协议驱动程序以更好地处理提示,要么确保您的横幅设置正确(或者一起删除它)。
https://stackoverflow.com/questions/12657588
复制相似问题