[问题] telnet 自动登入并重开机

楼主: shiyeh (shiyeh)   2015-05-11 13:32:07
HI 大家好
新手有些问题想请教
我想用python 写一个自动登入并执行重开机的script
遇到几个问题:
1. 远端没办法登入,但我手动telnet是可以登入的
error message是说我被timeout了,但我不知道为什么被timeout QQ
===== CODE =====
前面一些变量都已定义
global tel
prompt = '#'
username = 'root'
password = 'password'
tel.logfile_read = sys.stdout
tel.sendline ('\r')
tel.sendline ('\r')
tel.sendline ('\r')
tel.sendline ('\r')
tel.sendline ('\r')
tel.sendline ('\r')
tel.sendline ('\r')
tel.expect ('login:', timeout=700)
tel.sendline (username)
tel.expect ('Password:')
tel.sendline (password)
tel.expect (prompt)
2. 另外,如果注解掉 #tel.sendline ('\r') 这几行
第一次可以登入并下指令重开机,但做第二次时,一样被timeout
想不通哪里有问题QQ
恳请各位先进相救...
作者: Neisseria (Neisseria)   2015-05-11 13:38:00
用 telnet 不太好吧,现在不是都用 ssh 了吗?
楼主: shiyeh (shiyeh)   2015-05-11 13:41:00
因为只是测试机器而已 所以加不加密不用考虑@@
作者: gh40402   2015-05-11 15:40:00
你要不要改用 read_until 试试啊https://docs.python.org/3.4/library/telnetlib.html官网底下有范例code就没 expect 到 login: 吧... 你确定不是大写L?喔 我错了 是小写l没错

Links booklink

Contact Us: admin [ a t ] ucptt.com