基于secureCRT的unix服务器批量登陆的脚本
做运维的人大概都有体会,一个变更要登录服务器,输入IP、用户、密码一台台服务器登录,花时间还没成就感。遇上几十台上百台的变更,登录的时间得花个把小时了。
有没有比较方便的办法呢,其实很简单,secureCRT+简单的VB脚本就能做到。
一、首先我们要安装secureCRT 7以上版本,先登录一台服务器保证CRT可以正常使用
二、把以下内容拷贝到一个txt里,把文件名修改为自动登录.vbs
" Written by Suren
Const ForReading = 1
Dim fso, iplistpath , iplist, StrIp, StrPwd
Dim loginuser
"======================path and some parameters ==========================================
iplistpath=".\ip.txt"
loginuser = InputBox("请输入用户:") "登陆用户
StrPwd=InputBox("请输入密码:")
"MsgBox("Your Password is " & StrPwd)
"=======================open file==================================================
Set fso = CreateObject("Scripting.FileSystemObject")
Set iplist = fso.OpenTextFile(iplistpath , ForReading, False) " ip-list file path
"========================end open==================================================
Do While iplist.AtEndOfStream <> True
StrIp = Trim(iplist.Readline)
If StrIp <> "" Then
cmd = "/ssh2 /L " & loginuser &" /PASSWORD " & StrPwd & " /C 3DES " & StrIp
crt.Session.ConnectInTab cmd
End If
Loop
三、在脚本同一目录下,新建一个ip.txt,然后把要登录的IP输入进去
四、打开secureCRT,选择脚本-运行-选中你刚才编辑的自动登录.vbs,按提示输入用户密码即可
从此一次登录个几十台服务器不在话下了,再利用secureCRT的send chat to all session的功能,可以实现变更、维护的批量操作。后来根据需要又做了很多版本,比如不用默认的ip.txt,而是手工选择ip文件;将ip.txt中写入用户名和密码,不同用户密码的服务器也可以批量登陆,这里就不一一列举了。
当然互联网公司几千几万的同一种服务器,就需要专门的工具了。不过大部分传统企业,比如像我们这种巨型银行,同一类服务器最多也就几百台,这种办法就会比较合适。
适合自己的就是最好的。