在傳輸數(shù)據(jù)方面,比較常用的方式是使用FTP和SFTP。相比 FTP,SFTP 可以在傳統(tǒng)不安全的網(wǎng)絡環(huán)境中,實現(xiàn)傳輸雙方的認證和雙向數(shù)據(jù)加密,可以讓網(wǎng)管員從遠端安全地登錄到本地網(wǎng)絡設備上進行管理。但由于對SSH原理不了解,導致STelnet的配置錯誤和使用方法錯誤,使用STelent命令進行遠程管理網(wǎng)絡設備無法成功,無法使用SFTP進行遠程傳輸配置文件和系統(tǒng)文件。
如果不熟悉SSH協(xié)議或不理解配置方式方法,會遇到很多問題。
1.在生成RSA時,提示生成RSA失敗,提示要求檢查路由器名稱。
2.配置STelnet相關命令,使用Tacacs對用戶進行認證,配置完成后發(fā)現(xiàn)在登錄時輸入用戶名密碼后認證立刻掉線。
3.Windows中使用SSH可以正常登錄路由器,而在Linux下使用SSH卻無法正常登錄路由器。
4.使用SSH使用遠端認證方式進行認證無法成功,但是本地aaa認證卻可以成功。
5.使 用SecureCRT工具進行SSH遠程連接,連接彈出錯誤提示“A protocol error has occurred”。
6.使用SecureCRT工具進行SSH遠程連接,輸入用戶和密碼后顯示黑框。
7.使用SecureCRT工具進行SSH遠程連接,彈出錯誤提示“到會話x.x.x.x的連接失?。好荑€交換失敗。沒有兼容的MAC。服務器支持 這 些 MAC :SHA-96,SHA1,MD5”。
8.使用SecureCRT工具進行SSH遠程連接,提示RSA有效性公鑰檢查失敗。
9.使用SecureCRT工具進行SSH遠程連接,出現(xiàn)錯誤提示“Error:The number of SSH servers reached the upper limit”。
10.使用SecureCRT工具進行SSH遠程連接,前期可以正常登錄,但是最新登錄卻出現(xiàn)失敗,出現(xiàn)報錯提示:“An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full”。
SSH是一種網(wǎng)絡安全協(xié)議,通過對網(wǎng)絡數(shù)據(jù)加密,解決在一個不安全的網(wǎng)絡環(huán)境中進行安全數(shù)據(jù)傳輸?shù)膯栴}。SSH協(xié)議是在TCP之上構建一個安全通道,屬于應用層協(xié)議,標準端口為22。目前該協(xié)議有SSH1、SSH1.5和SSH2三個版本,其中SSH1.5向SSH1兼容,而SSH2與SSH1.5互不兼容。比較常用的兩個安全應用方式是 STelnet和 SFTP,STelnet是Telnet的加密升級版,可以讓網(wǎng)絡管理員從遠端安全登錄到網(wǎng)絡設備,提供交互式配置界面,所有的交互數(shù)據(jù)和命令都經(jīng)過加密。SFTP是Secure FTP的簡稱,因為數(shù)據(jù)在傳輸過程中進行了加密,可以讓網(wǎng)絡管理員從遠端安全地登錄到網(wǎng)絡設備上安全地進行文件管理。
SSH采用了C/S應用模式,連接協(xié)商過程有版本號協(xié)商、算法協(xié)商、密匙交換、認證階段、會話請求、會話階段等6個步驟。
在了解了SSH協(xié)議的工作原理后,在處理各類SSH故障時就會比較得心應手。在配置完成后,故障的產(chǎn)生就發(fā)生在SSH的6個工作階段。
對于故障一偶爾遇到,出現(xiàn)故障的原因一般是由于路由器操作系統(tǒng)的版本較低引起,因為一些老版本的操作系統(tǒng)在使用SSH生成RSA時,對設備名長度有要求,以華為路由器為例,其最大長度不得超過25位,超過時配置就會失敗。
故障二是因為Tacacs認證配置錯誤導致,其原因是Tacacs未配置計費相關信息或未配置計費失敗策略,導致路由器認為計費失敗從而導致用戶掉線。
故障三經(jīng)常遇到,主要原因是密鑰文件權限配置錯誤,導致SSHD服務無法啟動。
故障四是因為路由器配置認證方式時出現(xiàn)錯誤,SSH認證可以有遠端認證、aaa認證和Password認證,當用戶使用遠程認證時,其優(yōu)先采用SSH User用戶登錄服務器去進行認證,當用戶不存在或未配置SSH認證類型時,才會使用aaa方式等本地認證方式進行認證。但一般很少獲知遠程認證服務器上的用戶信息,只需修改其默認認證方式為Password模式或指定SSH認證類型就可以解決這個問題。
故障五是客戶端和服務器端SSH版本不匹配引起的,SSH共有SSH1和SSH2兩個版本且兩個版本之間不能互相兼容,當客戶端和服務器端SSH兩個版本不匹配時,會導致連接失敗。
故障六出現(xiàn)這樣的問題是因為生成的Key被轉(zhuǎn)發(fā),導致只能在后臺運行,無法在前臺顯示。
故障七可能是應用連接軟件未創(chuàng)建公鑰,手動創(chuàng)建公鑰后再連接網(wǎng)絡設備未解決造成,也可能是在使用軟件時,在MAC選項配置中選擇了無。
故障八一般是會在首次登錄SSH服務器端時出現(xiàn),因為首次登錄時客戶端還沒有保存SSH服務器端的RSA公鑰,會對服務器的RSA有效性公鑰檢查失敗,從而導致登錄服務器失敗。
故障九是因為秘鑰對生成的數(shù)量超過了網(wǎng)絡設備支持的數(shù)量上限,導致無法生成新的秘鑰對,很多路由器只能保存不超過20個的RSA秘鑰。
故障十根據(jù)其提示,可以很容易得知RSA秘鑰不合法或過期。
首先,檢查網(wǎng)絡連接是否暢通,一般可以在客戶端Ping服務器端的IP地址,檢查客戶端和服務器端之間的網(wǎng)絡是否暢通,排除因網(wǎng)絡故障導致SSH連接不能建立的可能性。
第二,檢查服務器端是否開戶SSH服務功能,如果服務器端未開啟SSH服務功能,則客戶端無法登錄服務器,如果要使用SFtp功能,還需檢查是否使能SFtp服務。
第三,檢查版本是否匹配,如果客戶端和服務器端之間的版本不能協(xié)商成功,則連接無法建立,可以使用display ssh server status命令查看服務器上的SSH版本。
第四,檢查VTY用戶界面配置是否正確,在客戶端登錄服務器端時,未提示用戶是否認可該服務器身份,就退出了登錄,且服務器端沒有任何調(diào)試輸出,則可能是由于服務器端的VTY用戶界面配置不正確導致的。
第五,檢查服務器公鑰是否存在??蛻舳说卿浄掌鞫藭r,客戶端通過數(shù)字簽名的方法驗證服務器的身份。如果客戶端沒有保存服務器的公鑰或保存的服務器不正確,則服務器身份驗證將會失敗,從而導致客戶端無法登錄服務器。
第六,檢查服務器端是否存在該用戶。當客戶端登錄服務器時,提示用戶反復輸入密碼,但就是認證不成功。則可能是服務器端不存在該用戶。
第七,檢查認證是否失敗。認證失敗,可檢查密碼不正確、用戶已經(jīng)被服務器記入黑名單、用戶可以使用的服務類型設置不正確。
第八,檢查SSH用戶服務類型配置是否正確。SSH服務類型包括STelnet和SFtp兩種,如果用戶登錄時使用的服務類型與服務器上配置的用戶服務類型不一致,則用戶登錄會失敗。
第九,檢查用戶登錄是否超時。這個問題的原因是用戶登錄過程的時間超過了服務器設置的時間,一般是由服務器上設置的超時時間不合適導致。
第十,如果使用SFtp時,還要檢查其目錄配置是否正確,如果不正確會導致登錄失敗。
有兩種方法可以排除故障一。
一是對路由器的操作系統(tǒng)進行升級,很多路由器操作系統(tǒng)的最新版本對設備名長沒有長度限制,升級后可以正常生成RSA。二是修改路由器的設備名長少于25位即可,但是當有的單位出于網(wǎng)絡管理要求,強制要求設備名為固定名稱且設備名長度超過25位時,可以使用方法一。解決故障二,只需在路由器配置Tacacs計費功能時,增加一條accounting start-fail online命令即可,其目的是用戶計費失敗時可以執(zhí)行online命令,允許用戶上線。
解決故障三只需修改/etc/ssh下文件權限,具體操作方法是在命令行依次運行#cd/etc/ssh(進入/etc/ssh目錄),#chmod 600 ssh*key(修改密鑰權限為可讀可寫),#service sshd start(啟動sshd服務)。
解決故障四是在配置SSH時,增加一條ssh authentication default password命令即可,確保當遠程認證失敗或失效時可使用本地認證。也可以指定默認的認證方式,避免當遠程認證服務器中對用戶的賬號信息沒有認證類型時,出現(xiàn)認證失敗的情況。
解決故障五,首先要了解路由器等網(wǎng)絡設備是否支持SSH2,如果支持,可以在客戶端使用SSH2,然后在路由器上設置SSH版本為2,如果不支持,那么客戶端需要使用SSH1或SSH1.5進行連接。
解決故障六,一般是因為使用相應的軟件,而這些軟件因為配置不當造成顯示不成功。以SecureCRT為例,軟件中會有一個類似“Enable OpenSSH agent forwarding”的選項,只需不勾選此選項即可。
解決故障七,需要檢查相應的SSH連接軟件的公鑰創(chuàng)建是否成功,其次再檢查MAC配置中是否勾選SHA1、SHA1-96、MD5等選項即可解決。
解決故障八只需在SSH服務器端開啟SSH客戶端首次認證功能,不能SSH服務器端的RSA公鑰進行有效性檢查即可。在華為路由器中其配置命令為“ssh client first-time enable”。
解決故障九根據(jù)需要,需要手動刪除一些無用或失效秘鑰。
解決故障十只需重新生成RSA秘鑰,在網(wǎng)絡設備中執(zhí)行類似“rsa local-key-pair creat 1024”的命令即可。
在使用SSH協(xié)議時,會出現(xiàn)各種各樣的故障,只有了解SSH原理后,排除故障時才能得心應手。
除了上述的一些故障,在使用SSH協(xié)議時還需要注意在日常使用中網(wǎng)絡設備極易受到SSH攻擊,當網(wǎng)絡設備受到SSH攻擊時,網(wǎng)絡設備的CPU占用率會大大增加,嚴重時會造成網(wǎng)絡故障。此外,攻擊者會利用SSH協(xié)議進行連續(xù)的非授權登錄嘗試,很可能導致緩沖區(qū)溢出或DoS攻擊,在日常安全的特別是物理隔離局域網(wǎng)絡中,不建議使用SSH協(xié)議,必要時可以配置禁止用戶SSH登錄。在必須使用SSH協(xié)議時,可以修改SSH的默認協(xié)議端口,以增加其安全性。
另外,使用SSH協(xié)議也不是百分百安全,因其認證方式和加密機制多樣,在使用時,要根據(jù)網(wǎng)絡環(huán)境,風險等級和風險內(nèi)容合理確定認證方式和加密機制,如果對安全要求高級別高的網(wǎng)絡設備,采用了簡單的認證方式和加密機制,就不安全了。