■ 江西 張亮
編者按:筆者通過比較telnet與SSH方式異同,親自實(shí)踐如何通過腳本實(shí)現(xiàn)SSH自動(dòng)登錄。
根據(jù)網(wǎng)絡(luò)安全加固要求,筆者所在單位將轄內(nèi)8臺(tái)核心網(wǎng)絡(luò)設(shè)備的登錄方式,均全部改為SSH登錄驗(yàn)證方式,原Telnet服務(wù)關(guān)停并啟用只允許SSH登錄方式。關(guān)停Telnet服務(wù)后,核心網(wǎng)絡(luò)設(shè)備均需要借助SecureCRT中提供SSH1、SSH2登錄設(shè)備,原來通過cmd控制臺(tái)登錄方式將不能訪問。
因筆者分行機(jī)房8臺(tái)核心網(wǎng)絡(luò)設(shè)備,均改為SSH登錄方式后,原來編寫的Telnet腳本不能繼續(xù)自動(dòng)登錄網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)核心設(shè)備的定期備份。雖然采用SSH登錄驗(yàn)證,網(wǎng)絡(luò)的安全性得到大大提高,但是作為一名分行的運(yùn)維人員,核心網(wǎng)絡(luò)設(shè)備的定期備份依然不然少,起初失效后筆者通過手工每周定期網(wǎng)絡(luò)配置備份,但是工作量較繁瑣且經(jīng)常忘記,后面筆者通過翻閱有關(guān)SSH相關(guān)資料,通過自身的親自實(shí)踐完成了SSH方式下設(shè)備自動(dòng)登錄并實(shí)現(xiàn)備份。
SSH代表完全外殼(Secure Shell),它是通過互聯(lián)網(wǎng)訪問網(wǎng)絡(luò)設(shè)備和服務(wù)器唯一的主要協(xié)議,默認(rèn)運(yùn)行端口是22,更安全而且加密傳輸。TELNET是電信(Telecommunications)和網(wǎng)絡(luò)(NetWorks)的聯(lián)合縮寫,UNIX平臺(tái)上最為熟知的網(wǎng)絡(luò)協(xié)議,是一種不安全的通信協(xié)議,它不使用任何安全機(jī)制,通過網(wǎng)絡(luò)/互聯(lián)網(wǎng)傳輸明文格式的數(shù)據(jù),包括密碼任何嗅探工具都容易抓取數(shù)據(jù)包,默認(rèn)運(yùn)行端口是23。
筆者分行中心機(jī)房8臺(tái)核心設(shè)備,首選檢查是否所有網(wǎng)絡(luò)交換設(shè)備開啟SSH服務(wù),確認(rèn)后關(guān)閉Telnet服務(wù),其次編寫SSH腳本自動(dòng)登錄命令,并通過SecureCRT軟件執(zhí)行腳本,最后采用tftp&ftp服務(wù)器,實(shí)現(xiàn)配置備份下載至遠(yuǎn)程網(wǎng)絡(luò)管理機(jī)器中留存,這個(gè)流程指令通過編寫一個(gè)批交易指令完成,并通過電腦本身自帶的任務(wù)計(jì)劃建立這個(gè)批交易任務(wù)即可。
實(shí)現(xiàn)SSH自動(dòng)驗(yàn)證登錄,首先檢查網(wǎng)絡(luò)設(shè)備是否開啟SSH服務(wù),如未開啟需開啟該服務(wù),下面以一臺(tái)上聯(lián)核心設(shè)備(HUAWEI NE20E-X6)為例,首選登錄交換設(shè)備通過命令dis cur查看配置信息,查看是否包括local-user h3c service-type terminal ssh命令信息。
如果maipu設(shè)備則通過命令sh run查看配置,查看是否包含ip ssh server服務(wù)。如果配置信息中為不包括該命令信息,則通過以下命令添加,下面筆者介紹華為與邁普兩種常用設(shè)備更改。
首選需要以Telent方式方式登錄,導(dǎo)入SSH服務(wù)相關(guān)命令,具體參考命令如下:
aaa
local-user 原在用用戶名 service-type terminal telnet ssh /**添加telnet及SSH登錄方式**/
stelnet server enable
ssh authenticationtype default password
ssh client first-time enable
user-interface vty 0 4
protocol inbound all
rsa local-key-pair create
其次網(wǎng)絡(luò)設(shè)備添加命令成功,需要退出當(dāng)前Telnet登陸,使用SSH(版本SSH2)登陸,成功登陸后刪除Telnet功能,具體實(shí)施命令參考如下:
aaa
local-user 原在用用戶名 service-type terminal ssh /**設(shè)置終端登錄方式為SSH**/
user-interface vty 0 4
protocol inbound ssh/**設(shè)置驗(yàn)證方式僅為SSH**/
ip ssh server /**開啟SSH服務(wù)**/
telnet server disable/*采用SSH成功登陸后,執(zhí)行該命令*/
檢查完網(wǎng)絡(luò)設(shè)備均采用SSH驗(yàn)證方式后,下一步需要編寫SSH登錄腳本指令,腳本指令同樣借助SecureCRT軟件完成,采用Telnet與SSH方式登錄其中一個(gè)不同之處,SSH需要指定加密方式,指令執(zhí)行前需要將用戶名及密碼指定,而Telnet只需要網(wǎng)絡(luò)源IP地址,登錄后根據(jù)屏幕關(guān)鍵字提示輸入用戶名與密碼,下面筆者將兩種登錄方式命令對(duì)比如下。
Sub Main
crt.Screen.Synchronous = True
crt.Session.Connect"/TELNET 10.247.71.254"/**定義telnet連接設(shè)備**/
crt.Screen.WaitForString "Username:"/**等待關(guān)鍵字Username**/
crt.Screen.Send"admin_yc" & vbCr /**向屏幕發(fā)送admin_yc字符串**/
crt.Screen.WaitForString"Password:"/**等待關(guān)鍵字Password**/
crt.Screen.Send"mp2018" & vbCr /**向屏幕發(fā)送mp2018字符串**/
crt.Screen.waitForString ">"
/**上傳備份信息至遠(yuǎn)程機(jī)器**/
crt.Screen.Send "tftp 10.84.31.2 put vrpcfg.zip AR01.zip" & vbcr
crt.Screen.waitForString ">"
crt.Screen.Send"quit" & vbcr
crt.Session.Disconnect
crt.Screen.Synchronous = False
End Sub
Sub Main
crt.Screen.Synchronous = True
dim host,user,passwor d,login
Str /**定義變量**/
host = "10.247.71.254" /**定義網(wǎng)絡(luò)設(shè)備地址**/
user = "admin_yc" /**賦值登錄用戶名**/
password ="mp2019"/**賦值登錄密碼**/
/**定義SS2登錄方式,3DES加密方式 MD5摘要**/
loginStr = "/SSH2 /L" & user & " /PASSWORD "& password & " /C 3DES /M MD5 " & host
/**SSH連接**/
crt.Session.Connect loginStr
crt.Screen.waitForString ">"
/**上傳備份信息至遠(yuǎn)程機(jī)器**/
crt.Screen.Send "tftp 10.84.31.2 put vrpcfg.zip AR01.zip" & vbcr
crt.Screen.waitForString ">"
crt.Screen.Send"quit" & vbcr
crt.Session.Disconnect
crt.Screen.Synchronous = False
End Sub
編寫完SSH腳本自動(dòng)登錄指令后,就需要開始編寫腳本的批交易執(zhí)行命令,批交易編寫的思路為打開3CServer服務(wù)器,開啟SercureCRT,執(zhí)行vbs腳本命令,執(zhí)行完畢關(guān)閉SecureCRT軟件與3CServer服務(wù)器,按當(dāng)前日期指定位置生成文件夾,并將備份的配置文本,剪切到按日期生成的文件夾中,以記事本的形式編寫完畢后,另存為文件以*.bat的格式生成可執(zhí)行批交易。
完整的代碼可參考《網(wǎng)絡(luò)安全和信息化》2018年5月刊登的“網(wǎng)絡(luò)配置定時(shí)備份”,下面為腳本部分關(guān)鍵代碼:
.........
rem 打開3CServer服務(wù)器
start "" "C:Program Files3Com3CServer.exe"
start "" "C:Program FilesSecureCRTSecureCRT.EXE" /script D:SecureScriptAR01備份腳本.vbs
.........
SSH網(wǎng)絡(luò)自動(dòng)登錄腳本編寫完成后,下一個(gè)問題就是如何觸發(fā)這個(gè)批交易,讓它每周能夠定時(shí)執(zhí)行,可以通過很多備份軟件執(zhí)行,而借助Windows任務(wù)計(jì)劃不下載任何軟件,能夠輕松完成批交易的觸發(fā)。因該部分內(nèi)容與筆者發(fā)表的“網(wǎng)絡(luò)配置定時(shí)備份”一樣,因而該部分省略詳情可參考《網(wǎng)絡(luò)安全和信息化》2018年5月刊。
網(wǎng)絡(luò)安全采用SSH驗(yàn)證登錄后,雖繁瑣但安全性大大提高,亦能通過腳本指令完成整個(gè)相對(duì)復(fù)雜的登錄過程,特別針對(duì)核心交換設(shè)備均需要采用SSH驗(yàn)證方式,自動(dòng)化同時(shí)又能提供安全,而且自動(dòng)化備份過程除了與Telnet執(zhí)行腳本指令不同外,其他批交易指令的編寫及Windows的任務(wù)計(jì)劃基本相同,能輕松實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備高安全的自動(dòng)備份,減少網(wǎng)絡(luò)管理員的運(yùn)維任務(wù)。