一种Rack机柜ssh无密码批量访问各节点的方法_2

文档序号:8265814阅读:来源:国知局
/local/lib)确保配置脚本找到临时工具目录中的Tcl,不希望它使用主系统中可能存在的tcl.?-With-X=HO:告诉配置脚本,不要查找Tk (Tcl的⑶I组件)或X窗口系统库,这两个都有可能存在于主系统中;
?-with-tclinclude:帮助脚本找到所需要的tcl头文件。
[0016]所述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_SCRIPTrm $TMP—SCRIPT.#3.生成 authorized—keys
cat $SSH—DIR/id—rsa.pub>>$SSH—DIR/authorized—keys.#4.chmod 600 for file authorized—keyschmod 600 $SSH—DIR/authorized—keysecho ===========================.#5.把authorized—keys拷贝到其他节点for ip in $ (cat $H0STS—FILE)
do
if [ ^xSip^ != W ]; then
echo-------------------------
TMP—SCRIPT=${SCRIPT—PREFIX}.$ip.sh
#check known—hostsval= ssh-keygen -F $ip
if [ ^xSval^ == W ]; then
echo 〃$ip not in $SSH—DIR/known—hosts, need to add〃
val='ssh-keyscan $ip 2>/dev/null'
if [ ^xSval^ == W ]; 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—SCRIPTrm $TMP—SCRIPTecho 〃copy done.〃fi
done
echo done.所述实现ssh无密码访问各节点: 在主节点上可运行如下命令:
for i in {2..30};do ssh cu$i;done
访问各节点无需输入密码,功能实现。
[0017]使用本实施所述Rack机柜ssh无密码批量访问各节点的方法,具体操作步骤如下:
步骤一、进行环境搭建:安装系统级配置网络,以及主节点环境配置;
步骤二、进行SSH的配置;
步骤三、确定ssh无密码访问各节点实现。
[0018]本实施例所述Rack机柜ssh无密码批量访问各节点的方法,巧妙的运用Linux下SSH协议,主要是由linux bash语言编写的测试程序加上调用一些Linux服务和工具,实现通过一个节点访问其他节点的功能,可以自动实现ssh无密码批量访问各节点,可大大地节省资源和成本,极大方便了 Rack机柜中众多节点的日常维护和管理。
[0019]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
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为Iinux ;系统安装完成后,设置各节点在同一网段。
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无密码批量访问各节点的方法,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux?bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率;极大的提高Rack机柜中查询和管理各节点的效率。
【IPC分类】H04L29-06
【公开号】CN104580217
【申请号】CN201510012043
【发明人】巩祥文
【申请人】浪潮电子信息产业股份有限公司
【公开日】2015年4月29日
【申请日】2015年1月9日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1