Linux 锐捷自动交互认证

本文不是讲解怎样安装锐捷的,而是在锐捷安装好以后,实现自动拨号。


要实现自动输入用户名,密码等信息,我们需要安装expect工具,它是linux上帮助管理员编写

自动交互式脚本的强大工具,另外由于expect需要tcl语言支持,因此需要安装tcl。

下载:

tcl:http://www.tcl.tk/software/tcltk/download.html

expect:http://sourceforge.net/projects/expect/files/


以上两个包都是源码包,老规矩,我们先:

tcl:

#cd tcl.xxxx

#cd unix

#./configure

#make

#make install


expect:

#cd expect.xxx

#./configure

#make

#make install

安装好以后我们开始写脚本:

ruijie.sh

##########################################################

#!/usr/local/bin/expect                                #你所安装的expect可执行文件,这个脚本使用expect执行的。


spawn /usr/bin/myxrgsu                             #给你的锐捷可执行文件加个交互式的"壳"


expect "Please input your user name:"      #如果expect发现myxrgsu输出的是Please input your user name:

send "12345678\r"                                     #此时它就send用户名,这里假设用户名为12345678


expect "Please input your password:"       #同理,如果这个壳发现myxrgsu输出的是Please input your password:
send "000000\r"                                         #那么就发送密码,这里是000000
expect "Use DHCP,1-Use,0-UnUse(Default: 0):"
send "0\r"
expect "Use default auth parameter,0-Use 1-UnUse(Default: 0):"
send "0\r"
#expect "Please input 'unauth' to LogOff:"
#set timeout 36000                                   #超时36000认为无效
interact                                                      #进行交互,即将控制权交给锐捷程序


############################################################

其实,我们就是在程序上面加了一个壳,然后解析程序会有那些输出,当程序输出与expect匹配时

那么程序就会接收到我的send信息,最后当完成我所要自动输入的过程后,我就把壳给卸了,交还控制权.


你可能感兴趣的:(Linux 锐捷自动交互认证)