作者shiyeh (shiyeh)
看板Python
标题[问题] telnet 自动登入并重开机
时间Mon May 11 13:32:07 2015
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
恳请各位先进相救...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.1.151
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1431322330.A.769.html
1F:→ Neisseria: 用 telnet 不太好吧,现在不是都用 ssh 了吗? 05/11 13:38
2F:→ shiyeh: 因为只是测试机器而已 所以加不加密不用考虑@@ 05/11 13:41
3F:→ gh40402: 你要不要改用 read_until 试试啊 05/11 15:40
5F:→ gh40402: 官网底下有范例code 05/11 15:41
先感谢提供资讯
没错,我如果用read_until()跟write()来做,这样OK
只是我想知道份code的root course是什麽?
看样子是pexpect.py的问题?
※ 编辑: shiyeh (220.137.1.151), 05/11/2015 16:16:57
6F:→ gh40402: 就没 expect 到 login: 吧... 你确定不是大写L? 05/11 17:34
7F:→ gh40402: 喔 我错了 是小写l没错 05/11 17:35