因为在工作中,批量的上架服务器,一次几十上百台,如果手动一台一台的在SecureCRT中添加过于麻烦,于是自己编写了一个Perl脚本批量创建,好 用又快速:
1、编辑一个列表文件,包括IP和主机名的,但是IP要以lan:开头,主机名要以hostname:开头,这个绝对不会难倒你吧。
[test@mantis create_session]$ vim list
lan:192.168.21.30 hostname:test1
2、运行脚本生指定ssh端口为22
ssh用户为nagios
ssh的password为6个0,(这里输入的是SecureCRT自己加密后的字符)
指定列表文件名为list
[test@mantis create_session]$ perl cre_sess.pl --port 22 --user nagios --password 8d860cf50f78af1a2833433076d288f3 --list list
运行该脚本需要先确认当前目录下有session_dir这个目录
已经修正,如果不存在session_dir目录,脚本将会自行创建。
3、运行后可以看到已经有Session文件了
[test@mantis create_session]$ ls session_dir/
(test0001) 192.168.21.30.ini
这里列表里只有一个主机,所以只生成一台,如果有多台,就会都生成在这个目录里的。接下来可以把这些文件拷到SecureCRT的Session目录里使用了。
############################################################







use strict;




my $PROGRAM_NAME = "cre_sess.pl";


my $type = "lan";

















#conver decval to hexval with $port











if ($status == 0) {




if ($help) {




my $session_path = "$local/session_dir";






if ( ! -d $session_path ) {




foreach my $line (@list) {


my $file_name = "";




if ( $line =~ m{hostname:(\w+\d+)}i ) {





if ( $line =~ m{lan:(\d+\.\d+\.\d+\.\d+)}i ) {



if ( $line =~ m{wan:(\d+\.\d+\.\d+\.\d+)}i ) {



#如果主机名长度,进行补0(便于SecureCrt的排序)


} elsif ( $hostname =~ m{(\w+)(\d{3})}i ) {







if ($type =~ m{^lan$}i) {







print $file_name . "\n" if $debug;

if ($type =~ m{^lan$}i) {










chdir $session_path or die "can't change directory: $!";






















sub convert_dec {

my $port = shift;









