一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù),具體地說是一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法。
【背景技術(shù)】
[0002]SSH為Secure Shell的縮寫,SSH為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH是目前較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。
[0003]Rack機(jī)柜節(jié)點(diǎn)多,查看和管理各節(jié)點(diǎn)的時(shí)候,如果逐個(gè)節(jié)點(diǎn)接顯示器和鍵盤是不現(xiàn)實(shí)的,節(jié)點(diǎn)間可以通過SSH協(xié)議來查詢和管理各節(jié)點(diǎn),出貨時(shí)附帶交換機(jī),各節(jié)點(diǎn)間可通過網(wǎng)口連通,可以選取其中的一個(gè)節(jié)點(diǎn),通過SSH協(xié)議管理其他節(jié)點(diǎn)。但是每次SSHD登陸到其它節(jié)點(diǎn)是需要輸密碼的,在節(jié)點(diǎn)眾多的情況下,挨個(gè)輸密碼會(huì)大大降低工作效率,所以一種自動(dòng)實(shí)現(xiàn)Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法非常必要。
【發(fā)明內(nèi)容】
[0004]本方明針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問題,提供了一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法。
[0005]本發(fā)明所述一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法,解決上述技術(shù)問題采用的技術(shù)方案如下:基于SSH協(xié)議,在Rack機(jī)柜各節(jié)點(diǎn)網(wǎng)絡(luò)連通的基礎(chǔ)上,刷新Rack機(jī)柜所有節(jié)點(diǎn)BMC時(shí),把SSH與linux bash語言相結(jié)合,實(shí)現(xiàn)通過一節(jié)點(diǎn)SSH無密碼訪問其它所有節(jié)點(diǎn),進(jìn)而自動(dòng)實(shí)現(xiàn)各節(jié)點(diǎn)間的無密碼訪問,大大節(jié)省工作時(shí)間,減少工作量、提高工作效率。
[0006]本發(fā)明所述Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法,包括環(huán)境搭建、SSH配置和實(shí)現(xiàn)SSH無密碼訪問各節(jié)點(diǎn)三部分內(nèi)容,其中環(huán)境搭建包括安裝操作系統(tǒng)及配置網(wǎng)絡(luò)、主節(jié)點(diǎn)環(huán)境配置兩部分內(nèi)容。
[0007]優(yōu)選的,所述安裝操作系統(tǒng)及配置網(wǎng)絡(luò):是指把搭建好的PXE服務(wù)器連接到Rack機(jī)柜附帶的交換機(jī),通過PXE灌裝系統(tǒng),OS為linux;系統(tǒng)安裝完成后,設(shè)置各節(jié)點(diǎn)在同一網(wǎng)段。
[0008]優(yōu)選的,所述主節(jié)點(diǎn)環(huán)境配置:包括主節(jié)點(diǎn)安裝tcl/tk庫和主節(jié)點(diǎn)安裝expect庫兩部分。
[0009]優(yōu)選的,所述SSH的配置包括如下內(nèi)容:準(zhǔn)備directory.ssh、生成ssh key、生成 authorized_keys、chmod 600 for file authorized_keys,以及把 authorized_keys 拷貝到其他節(jié)點(diǎn);
優(yōu)選的,所述實(shí)現(xiàn)ssh無密碼訪問各節(jié)點(diǎn):
在主節(jié)點(diǎn)上可運(yùn)行如下命令:
for i in {2..30};do ssh cu$i;done
訪問各節(jié)點(diǎn)無需輸入密碼,功能實(shí)現(xiàn)。
[0010]本發(fā)明的一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法與現(xiàn)有技術(shù)相比具有的有益效果是:該方法在刷新Rack機(jī)柜所有節(jié)點(diǎn)BMC時(shí),利用Rack機(jī)柜特有的機(jī)制,把SSH與I inux bash語言相結(jié)合,可以自動(dòng)實(shí)現(xiàn)Rack機(jī)柜各節(jié)點(diǎn)間的無密碼訪問,大大節(jié)省工作時(shí)間,減少工作量、提高工作效率;能夠極大的提高Rack機(jī)柜中查詢和管理各節(jié)點(diǎn)的效率,隨著Rack項(xiàng)目的需求日益劇增和供貨量的加大,該方法具有更加深遠(yuǎn)的使用價(jià)值。
【具體實(shí)施方式】
[0011]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本發(fā)明所述一種Rack機(jī)柜SSh無密碼批量訪問各節(jié)點(diǎn)的方法進(jìn)一步詳細(xì)說明。
[0012]本發(fā)明所述Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法,基于SSH協(xié)議,在Rack機(jī)柜各節(jié)點(diǎn)網(wǎng)絡(luò)連通的基礎(chǔ)上,刷新Rack機(jī)柜所有節(jié)點(diǎn)BMC時(shí),利用Rack機(jī)柜特有的機(jī)制,把SSH與I inux bash語言相結(jié)合,可以自動(dòng)實(shí)現(xiàn)各節(jié)點(diǎn)間的無密碼訪問,大大節(jié)省工作時(shí)間,減少工作量、提高工作效率。
[0013]實(shí)施例:
本實(shí)施例所述一種Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法,基于SSH協(xié)議,在Rack機(jī)柜各節(jié)點(diǎn)網(wǎng)絡(luò)連通的基礎(chǔ)上,由linux bash語言編寫的測試程序加上調(diào)用一些Linux服務(wù)和工具,實(shí)現(xiàn)通過一節(jié)點(diǎn)SSH無密碼訪問其它所有節(jié)點(diǎn),使管理便捷,節(jié)省時(shí)間。
[0014]該Rack機(jī)柜ssh無密碼批量訪問各節(jié)點(diǎn)的方法,包括環(huán)境搭建、SSH配置和實(shí)現(xiàn)SSH無密碼訪問各節(jié)點(diǎn)三部分內(nèi)容,其中環(huán)境搭建包括安裝操作系統(tǒng)及配置網(wǎng)絡(luò)、主節(jié)點(diǎn)環(huán)境配置兩部分內(nèi)容。
[0015]所述安裝操作系統(tǒng)及配置網(wǎng)絡(luò):是指把搭建好的PXE服務(wù)器連接到Rack機(jī)柜附帶的交換機(jī),通過PXE灌裝系統(tǒng),OS為Iinux (本實(shí)施例以Redhat 6為例);系統(tǒng)安裝完成后,設(shè)置各節(jié)點(diǎn)在同一網(wǎng)段??蛇\(yùn)行如下腳本:
#!/bin/bashfunct1n setstaticip O{
echo 〃一$i~is settting.....〃
ssh 192.168.1.$i 〃/usr/bin/ipmitool Ian set 8 ipsrc static; /usr/bin/ipmitool Ian set 8 ipaddr 192.168.1.'echo 〃100+$i〃 | bc';/usr/bin/ipmitool Ianset 8 netmask 255.255.255.0〃 &
}
funct1n flash_node()
{
if [ -f failed, txt ]then
rm -rf > failed, txtrm -rf > success, txtfi
BMCip='rsh cu$I usr/bin/ipmitool Ian print 8" | grep Addr | grep192.168.1 I awk -F: ’ {print $2}’ 'echo 〃the CU$1 bmcip is $BMCip〃
/usr/bin/ipmitool -H $BMCip -U ADMIN -P ADMIN Ian print 8 | grep Addr | grep192.168.1
if [ $? -eq 0 ]then
#if preserve FRU,Please use 〃-preserve-config〃
#./Yafuflash -preserve-config -nw -1p $BMCip _u ADMIN -p ADMIN $bmcfile <y.txt./Yafuflash -nw -1p $BMCip _u ADMIN -p ADMIN SN5128BMC.14 < y.txt
if [ $? -eq 0 ]
then
echo 〃cu$l OK; $BMCip flash Succus 〃 >> success.txt else
echo 〃cu$l Failed; $BMCip flash Failed!!! 〃 >> failed.txt fi
else
echo 〃cu$l;—BMCip Failed〃 >> failed, txt
fi
}.所述主節(jié)點(diǎn)環(huán)境配置:包括主節(jié)點(diǎn)安裝tcl/tk庫和主節(jié)點(diǎn)安裝expect庫兩部分;
(1)主節(jié)點(diǎn)安裝tcl/tk庫:
選取機(jī)柜中任一節(jié)點(diǎn)作為主節(jié)點(diǎn)(本實(shí)施例以第一個(gè)節(jié)點(diǎn)作為主節(jié)點(diǎn)),下載tc 1、tk軟件包:
安裝tcl
#cd tcl8.4.16/unix/
#./configure#make
#make install
安裝之后不要?jiǎng)h除源碼包,在安裝expect時(shí)需要tcl的頭文件;
安裝完畢以后,進(jìn)入tcl源代碼的根目錄,把子目錄unix下面的tclUnixPort.h copy到子目錄generic中安裝tk
#cd tk8.4.16/unix/
#./configure#make
#make install.(2)主節(jié)點(diǎn)安裝expect庫:
最新穩(wěn)定版 5.43.0 的下載地址:http://expect, nist.gov/expect, tar.gz,運(yùn)行configure腳本,并指定tcl的頭文件所在目錄:
[root@supersun.biz expect-5.43]#./configure —with-tclinclude=<tcl8.4.16install dir>/generic
如腳本運(yùn)行正常,進(jìn)行執(zhí)行make進(jìn)行編譯;
#make
如果make,或是configure有錯(cuò)誤的話,根據(jù)提示,再增加配置參數(shù);
如編譯過程中未出現(xiàn)錯(cuò)誤,執(zhí)行安裝:
#make install配置參數(shù)的意思是:
?—with-tcl=/usr/tcl/lib:(環(huán)境中是/usr