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信息,最后当完成我所要自动输入的过程后,我就把壳给卸了,交还控制权.
转载于:https://www.cnblogs.com/van9ogh/archive/2011/11/02/2446360.html
标签:锐捷,Please,send,tcl,expect,Linux,input,交互 来源: https://blog.csdn.net/weixin_30210651/article/details/96602421