基于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中写入用户名和密码,不同用户密码的服务器也可以批量登陆,这里就不一一列举了。

当然互联网公司几千几万的同一种服务器,就需要专门的工具了。不过大部分传统企业,比如像我们这种巨型银行,同一类服务器最多也就几百台,这种办法就会比较合适。

适合自己的就是最好的。

posted @ 2020-03-19 10:17  豆浆D  阅读(1292)  评论(0编辑  收藏  举报