一种RACK机柜SSH无密码批量访问各节点的方法.pdf

上传人:Y94****206 文档编号:4065101 上传时间:2018-08-13 格式:PDF 页数:8 大小:294.51KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510012043.6

申请日:

2015.01.09

公开号:

CN104580217A

公开日:

2015.04.29

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/06申请日:20150109|||公开

IPC分类号:

H04L29/06

主分类号:

H04L29/06

申请人:

浪潮电子信息产业股份有限公司

发明人:

巩祥文

地址:

250101山东省济南市高新区舜雅路1036号

优先权:

专利代理机构:

济南信达专利事务所有限公司37100

代理人:

姜明

PDF下载: PDF下载
内容摘要

本发明公开一种Rack机柜ssh无密码批量访问各节点的方法,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率;极大的提高Rack机柜中查询和管理各节点的效率。

权利要求书

权利要求书1.  一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问。2.  根据权利要求1所述一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,该方法包括环境搭建、SSH配置和实现SSH无密码访问各节点,其中环境搭建包括安装操作系统及配置网络、主节点环境配置两部分内容。3.  根据权利要求2所述一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,所述安装操作系统及配置网络:是指把搭建好的PXE服务器连接到Rack机柜附带的交换机,通过PXE灌装系统,OS为linux;系统安装完成后,设置各节点在同一网段。4.  根据权利要求3所述一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,所述主节点环境配置:包括主节点安装tcl/tk库和主节点安装expect库两部分。5.  根据权利要求4所述一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,所述SSH的配置包括:准备 directory .ssh、生成 ssh key、生成authorized_keys、chmod 600 for file authorized_keys,以及把authorized_keys拷贝到其他节点。6.  根据权利要求5所述一种Rack机柜ssh无密码批量访问各节点的方法,其特征在于,所述实现ssh无密码访问各节点:在主节点上可运行如下命令:for i in {2..30};do ssh cu$i;done访问各节点无需输入密码。

说明书

说明书一种Rack机柜ssh无密码批量访问各节点的方法
技术领域
本发明涉及计算机技术,具体地说是一种Rack机柜ssh无密码批量访问各节点的方法。
背景技术
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
Rack机柜节点多,查看和管理各节点的时候,如果逐个节点接显示器和键盘是不现实的,节点间可以通过SSH协议来查询和管理各节点,出货时附带交换机,各节点间可通过网口连通,可以选取其中的一个节点,通过SSH协议管理其他节点。但是每次SSHD 登陆到其它节点是需要输密码的,在节点众多的情况下,挨个输密码会大大降低工作效率,所以一种自动实现Rack机柜ssh无密码批量访问各节点的方法非常必要。
发明内容
本方明针对现有技术存在的技术问题,提供了一种Rack机柜ssh无密码批量访问各节点的方法。
本发明所述一种Rack机柜ssh无密码批量访问各节点的方法,解决上述技术问题采用的技术方案如下:基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率。
本发明所述Rack机柜ssh无密码批量访问各节点的方法,包括环境搭建、SSH配置和实现SSH无密码访问各节点三部分内容,其中环境搭建包括安装操作系统及配置网络、主节点环境配置两部分内容。
优选的,所述安装操作系统及配置网络:是指把搭建好的PXE服务器连接到Rack机柜附带的交换机,通过PXE灌装系统,OS为linux;系统安装完成后,设置各节点在同一网段。
优选的,所述主节点环境配置:包括主节点安装tcl/tk库和主节点安装expect库两部分。
优选的,所述SSH的配置包括如下内容:准备 directory .ssh、生成 ssh key、生成authorized_keys、chmod 600 for file authorized_keys,以及把authorized_keys拷贝到其他节点;
优选的,所述实现ssh无密码访问各节点:
在主节点上可运行如下命令:
for i in {2..30};do ssh cu$i;done
访问各节点无需输入密码,功能实现。
本发明的一种Rack机柜ssh无密码批量访问各节点的方法与现有技术相比具有的有益效果是:该方法在刷新Rack机柜所有节点BMC时,利用Rack机柜特有的机制,把SSH与linux bash语言相结合,可以自动实现Rack机柜各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率;能够极大的提高Rack机柜中查询和管理各节点的效率,随着Rack项目的需求日益剧增和供货量的加大,该方法具有更加深远的使用价值。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种Rack机柜ssh无密码批量访问各节点的方法进一步详细说明。
本发明所述Rack机柜ssh无密码批量访问各节点的方法,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,利用Rack机柜特有的机制,把SSH与linux bash语言相结合,可以自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率。
实施例:
本实施例所述一种Rack机柜ssh无密码批量访问各节点的方法, 基于SSH协议,在Rack机柜各节点网络连通的基础上,由linux bash语言编写的测试程序加上调用一些Linux服务和工具,实现通过一节点SSH无密码访问其它所有节点,使管理便捷,节省时间。
该Rack机柜ssh无密码批量访问各节点的方法,包括环境搭建、SSH配置和实现SSH无密码访问各节点三部分内容,其中环境搭建包括安装操作系统及配置网络、主节点环境配置两部分内容。
所述安装操作系统及配置网络:是指把搭建好的PXE服务器连接到Rack机柜附带的交换机,通过PXE灌装系统,OS为linux(本实施例以Redhat 6为例);系统安装完成后,设置各节点在同一网段。可运行如下脚本:
#!/bin/bash
function setstaticip()
{
  echo "--$i-is settting....."
  ssh 192.168.1.$i "/usr/bin/ipmitool lan set 8 ipsrc static; /usr/bin/ipmitool lan set 8 ipaddr 192.168.1.`echo "100+$i" | bc`;/usr/bin/ipmitool lan set 8 netmask 255.255.255.0"  &
}
function flash_node()
{
 if [ -f failed.txt ]
   then
       rm -rf > failed.txt
       rm -rf > success.txt
  fi
  BMCip=`rsh cu$1 "/usr/bin/ipmitool lan print 8" | grep Addr | grep 192.168.1 | awk -F : '{print $2}'`
  echo  "the CU$1 bmcip is $BMCip"
  /usr/bin/ipmitool -H $BMCip -U ADMIN -P ADMIN lan print 8 | grep Addr | grep 192.168.1
   if [ $? -eq 0 ]
     then
          #if preserve FRU,Please use "-preserve-config"
          #./Yafuflash -preserve-config  -nw -ip $BMCip -u ADMIN -p ADMIN $bmcfile < y.txt
         ./Yafuflash  -nw -ip $BMCip -u ADMIN -p ADMIN  SN5128BMC.14 < y.txt
       if [ $? -eq 0 ]
       then
            echo "cu$1  OK; $BMCip flash Succus " >> success.txt
       else
            echo "cu$1  Failed; $BMCip flash Failed!!! " >> failed.txt
       fi
  else
     echo  "cu$1;--BMCip  Failed" >> failed.txt
  fi
}.
所述主节点环境配置:包括主节点安装tcl/tk库和主节点安装expect库两部分;
(1)主节点安装tcl/tk库:
     选取机柜中任一节点作为主节点(本实施例以第一个节点作为主节点),下载tcl、tk软件包:
安装tcl
#cd tcl8.4.16/unix/
#./configure
#make
#make install
安装之后不要删除源码包,在安装expect时需要tcl的头文件;
安装完毕以后,进入tcl源代码的根目录,把子目录unix下面的tclUnixPort.h copy到子目录generic中
安装tk
#cd tk8.4.16/unix/
#./configure
#make
#make install.
(2)主节点安装expect库:
最新稳定版5.43.0的下载地址:http://expect.nist.gov/expect.tar.gz,运行configure脚本,并指定tcl的头文件所在目录:
[root@supersun.biz expect-5.43]#./configure --with-tclinclude=<tcl8.4.16 install dir>/generic
如脚本运行正常,进行执行make进行编译;
#make
如果make,或是configure有错误的话,根据提示,再增加配置参数;
如编译过程中未出现错误,执行安装:
#make install
配置参数的意思是:
· --with-tcl=/usr/tcl/lib :(环境中是/usr/local/lib) 确保配置脚本找到临时工具目录中的Tcl ,不希望它使用主系统中可能存在的tcl.
· --with-x=no : 告诉配置脚本,不要查找 Tk (Tcl 的 GUI 组件) 或 X 窗口系统库,这两个都有可能存在于主系统中;
· -with-tclinclude :帮助脚本找到所需要的tcl 头文件。
所述SSH的配置包括如下内容:准备 directory .ssh、生成 ssh key、生成authorized_keys、chmod 600 for file authorized_keys,以及把authorized_keys拷贝到其他节点;具体过程如下:
# 1. 准备 directory .ssh
mkdir $SSH_DIR
chmod 700 $SSH_DIR.
# 2. 生成 ssh key:客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,一般为了安全,访问有黑客拷贝客户端的私钥,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥;
TMP_SCRIPT=$SCRIPT_PREFIX.sh
echo  "#!/usr/bin/expect">$TMP_SCRIPT
echo  "spawn ssh-keygen -b 1024 -t rsa">>$TMP_SCRIPT
echo  "expect *key*">>$TMP_SCRIPT
echo  "send \r">>$TMP_SCRIPT
if [ -f $SSH_DIR/id_rsa ]; then
    echo  "expect *verwrite*">>$TMP_SCRIPT
    echo  "send y\r">>$TMP_SCRIPT
fi
echo  "expect *passphrase*">>$TMP_SCRIPT
echo  "send \r">>$TMP_SCRIPT
echo  "expect *again:">>$TMP_SCRIPT
echo  "send \r">>$TMP_SCRIPT
echo  "interact">>$TMP_SCRIPT
chmod +x $TMP_SCRIPT
/usr/bin/expect $TMP_SCRIPT
rm $TMP_SCRIPT.
# 3.生成authorized_keys
cat $SSH_DIR/id_rsa.pub>>$SSH_DIR/authorized_keys. 
# 4. chmod 600 for file authorized_keys
chmod 600 $SSH_DIR/authorized_keys
echo ===========================.
# 5. 把authorized_keys拷贝到其他节点
for ip in $(cat $HOSTS_FILE)
do
    if [ "x$ip" != "x" ]; then
        echo -------------------------
        TMP_SCRIPT=${SCRIPT_PREFIX}.$ip.sh
        # check known_hosts
        val=`ssh-keygen -F $ip`
        if [ "x$val" == "x" ]; then
            echo "$ip not in $SSH_DIR/known_hosts, need to add"
            val=`ssh-keyscan $ip 2>/dev/null`
            if [ "x$val" == "x" ]; then
                echo "ssh-keyscan $ip failed!"
            else
                echo $val>>$SSH_DIR/known_hosts
            fi
        fi
        echo "copy $SSH_DIR to $ip"
        echo  "#!/usr/bin/expect">$TMP_SCRIPT
        echo  "spawn scp -r  $SSH_DIR $DEST_USER@$ip:~/">>$TMP_SCRIPT
        echo  "expect *assword*">>$TMP_SCRIPT
        echo  "send $PASSWORD\r">>$TMP_SCRIPT
        echo  "interact">>$TMP_SCRIPT
        chmod +x $TMP_SCRIPT
        #echo "/usr/bin/expect $TMP_SCRIPT" >$TMP_SCRIPT.do
        #sh $TMP_SCRIPT.do&
        /usr/bin/expect $TMP_SCRIPT
        rm $TMP_SCRIPT
        echo "copy done."                
    fi
done
echo done.
所述实现ssh无密码访问各节点:
在主节点上可运行如下命令:
for i in {2..30};do ssh cu$i;done
访问各节点无需输入密码,功能实现。
使用本实施所述Rack机柜ssh无密码批量访问各节点的方法,具体操作步骤如下:
步骤一、进行环境搭建:安装系统级配置网络,以及主节点环境配置;
步骤二、进行SSH的配置;
步骤三、确定ssh无密码访问各节点实现。
本实施例所述Rack机柜ssh无密码批量访问各节点的方法,巧妙的运用Linux下SSH协议,主要是由linux bash语言编写的测试程序加上调用一些Linux服务和工具,实现通过一个节点访问其他节点的功能,可以自动实现ssh无密码批量访问各节点,可大大地节省资源和成本,极大方便了Rack机柜中众多节点的日常维护和管理。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

一种RACK机柜SSH无密码批量访问各节点的方法.pdf_第1页
第1页 / 共8页
一种RACK机柜SSH无密码批量访问各节点的方法.pdf_第2页
第2页 / 共8页
一种RACK机柜SSH无密码批量访问各节点的方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种RACK机柜SSH无密码批量访问各节点的方法.pdf》由会员分享,可在线阅读,更多相关《一种RACK机柜SSH无密码批量访问各节点的方法.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明公开一种Rack机柜ssh无密码批量访问各节点的方法,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率;极大的提高Rack机柜中查询和管理各节点的效率。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1