Secure用SSH登陆服务器时,如果服务器较多,登陆一次很麻烦,所以,可以自己编写VBScript来搞定。
一、Secure脚本介绍
Secure是VBScript脚本,VB脚本的教程,请参考有关文档。
Secure自带的对象如下:
Application对象,就是crt,是个顶层的对象,所有其他内容都从这个对象中获得
Session,会话对象,负责连接相关
Tab对象,就是标签页
Scree对象,负责交互相关的,比如发送命令、接收命令返回等
主要是上面这几个,其他的看帮助文档。
二、自动登陆的说明
1、创建Session,并连接到服务器
这里有两种方式,一种是自己设置参数连接,一种是利用现有的Session设置来连接
方式1:
crt.session.Connect("protocol user@host")
protocol:协议,支持ssh,ssh2,telnet
user:用户名
host:机器名
方式2:
Set conf = crt.OpenSessionConfiguration("session_name")
Set tab = conf.ConnectInTab()
session_name:是你自己设置的Session的名字,这样做的好处是可以利用已设置好的Session来连接,简单。
2、克隆(Clone)标签页,并登陆到服务器
Set newtab = tab.Clone()
克隆的好处是不用再登陆,直接Clone已有的即可。
3、设置标签页的名称等
tab.Caption = xxx
标签多了,需要每个设置一个别名
4、连接到服务器
连接功能主要是Screen对象中的各种方法。
Set scr = tab.Screen '首先获取tab的Screen
scr.Send("ssh " & host & VbCr) '发送ssh 登陆命令
scr.WaitForString(host & "'s password: ") '等待输入密码的提示
scr.Send(pwd & VbCr) '输入密码
三、完整例子
#$language = "VBScript" #$interface = "1.0" crt.Screen.Synchronous = True Function Login(ptab,name,host,pwd,cmd) Dim tab,scr Set tab = ptab.Clone() tab.Caption = name Set scr = tab.Screen scr.Send("ssh " & host & VbCr) scr.WaitForString(host & "'s password: ") scr.Send(pwd & VbCr) scr.Send(cmd & VbCr) Set Login = tab End Function Sub Main Dim conf,tab Set conf = crt.OpenSessionConfiguration("session_name") Set tab = conf.ConnectInTab() Set tab = Login(tab,"name1","user1@host1","xxx","cd /home/") Set tab = Login(tab,"name2","user2@host2","xxx","shell cmd") End Sub
更详细的介绍,请参考SecureCRT的帮助文件。