http://blog.csdn.net/marising/article/details/6409196
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的幫助文件。