估計大多數使用vCenter Server管理服務器的網管員都遭遇過vSphere證書故障,很多人都認為出現vSphere證書錯誤算不得什么故障,只是在登錄vCenter Server時報錯,使用起來不太方便而已。其實,筆者也是這樣認為的,也總遇到證書錯誤之類的現象,從來沒有重視過這類故障。
最近筆者在排除存儲故障過程中,總有證書錯誤提示。在刪除故障存儲的錯誤報警中,報證書錯誤的也不少,正是受證書錯誤影響,使筆者的存儲故障排除過程更加曲折。
事情的經過是這樣的,某客戶單位的網管員要筆者幫助他刪除有故障的網絡存儲(從存儲列表清單中刪除故障存儲),筆者嘗試了很多辦法,包括斷電等措施,就是也不能將故障存儲從列表中刪除,刪除過程中經常報證書錯誤(有時也報其他錯誤)。正是因為總出現證書錯誤,筆者不得不把精力轉向排除證書故障上。經過幾番周折,發現根本不是證書故障的原因,原來是某些對象和故障存儲之間存在某種映射關系,所以無法將故障存儲從存儲列表刪除。
事實上,出現vSphere證書錯誤后,不只是操作不便,也不僅僅是影響故障分析和判斷,它還會影響vSphere的某些功能能否正常使用。下面列舉的就是出現證書錯誤后對管理功能的影響:
1.使 用Web Access或vSphere Client訪 問vCenter Server時失敗,此時顯示的是SSL證書錯誤(1021514)。
2.在vSphere Web Client中查看VMware證書頒發機構詳細信息時失敗,此時顯示的是無法從VMware證書頒發機構獲取證書(2115941)。
3.將文件上傳到內容庫或網絡存儲時,提示不信任證書或操作因未知原因失敗,無法將文件上傳到網絡或主機存儲上。
4.在部署OVF或OVA模板時,提示不信任證書或操作因未知原因,最終無法完成部署操作。
5.添加主機時報證書錯 誤“Error:The Root CA certificate is missing or failed to Initialize(70000)”,無法將主機添加到vCenter數據中心。
……
出現證書錯誤后,可能影響的管理功能遠不止這些,因此,遇到vSphere證書錯誤后,及時排除故障還是很有必要的。
這里所指的vSphere證書其實就是數字證書。默認情況下,安裝部署vSphere vCenter Server后,vCenter Server用的是VMware自己簽發的數字證書。
vSphere用數字證書加密通信,對服務進行身份驗證,對令牌進行簽名等措施來提供通訊的安全性。vSphere數字證書使用的是X.509 v3標準的數字證書,用來加密通過組件之間的安全套接字層協議連接發送的會話信息,包括用vSphere數字證書加密vCenter Server系統與其管理的每個ESXi主機之間的通信,對vSphere服務進行身份驗證,并使用SSL提供的證書驗證某些功能要求,如vSphere Fault Tolerance等。在執行某些內部操作時,也會使用vSphere證書,如對令牌進行簽名。也就是說,只要vSphere報證書錯誤或瀏覽器報證書錯誤,不僅僅是在連接vCenter Server過程中操作繁瑣一點的問題,還可能會影響vCenter部分功能的使用,如前面所列舉的證書錯誤故障。
VMware Certificate Authority(VMware證書頒發 機 構,VMCA)是vCenter Server的一個服務。默認情況下,安裝vCenter Server后,VMCA會自動為vCenter Server生成root CA證書,顯然,這些自動生成的證書并不是由商業證書頒發機構(CA)簽署的。Firefox、Internet Explorer、Opera、Safari 以及Google Chrome等瀏覽器內置了早就確定的根證書列表,這就是使用主流CA發布的證書SSL都直接可以正常使用,而使用VMCA發布的證書SSL不能正常使用的原因。例如,在使用IE等瀏覽器登錄vCenter Server時,會出現“此站點不安全”錯誤提示。由此可見,只要在本地計算機安裝并信任vSphere證書,讓瀏覽器信任VMCA簽署的root CA證書,就可以解決證書故障的問題。
1.打開瀏覽器后,輸入vCenter Server的訪問地址,出現“此站點不安全”頁面后,單擊“詳細信息”后,再單擊“轉到此網頁(不推薦)”,即可進入 vCenter Server首頁。
2.進入vCenter Server首頁后,此時在瀏覽器地址欄右側會出現“證書錯誤”字樣。
3.單擊“證書錯誤”可以了解到如下錯誤信息:
·不受信任的證書
·此網站出具的安全證書不是由受信任的證書頒發機構頒發的
·此問題表明可能有人試圖欺騙你或截獲你向服務器發送的數據
·建議關閉此網頁。
4.進 入v C e n t e r Server“入門”頁面后,單擊頁面右下側的“下載受信任的root CA證書”,下載root CA證書。
5.下載的root CA證書是一個ZIP壓縮文件,下載并保存該壓縮文件后,將壓縮文件解壓到本地磁盤。
6.將root CA證 書ZIP壓縮文件解壓后有“lin”“mac”“win”三個文件夾,分別適用于Linux、Mac OS和Windows操作系統。在本例中,用來登錄vCenter Server的計算機采用的是Windows操作系統,雙擊“win”文件夾下擴展名“crt”的安全證書即可安裝證書。
7.出 現“證 書”窗口后,單擊“安裝證書”按鈕,安裝從vCenter Server下載的由VMCA簽署的root CA證書。
8.出現“證書導入向導”頁面后,選擇“本地計算機”。
9.出現“證書存儲”頁面后,選擇“將所有的證書都放入下列存儲”,單擊“瀏覽”按鈕選擇證書存儲。
10.出現“選擇證書存儲”頁面后,選擇“受信任的根證書頒發機構”。
11.回到“證書存儲”頁面后,檢查所做的選擇是否是將所有的證書都放入受信任的根證書頒發機構(如圖1),如果沒有問題,按照提示完成證書導入即可。
12.導入VMware root CA證書后,關閉瀏覽器。
13.重新打開瀏覽器,登錄 vCenter Server,此時瀏覽器不再報證書錯誤之類的提示,說明在本地計算機信任vSphere root CA證書后,不再有證書錯誤提示,故障排除。

圖1 查看證書是否放入受信任的根證書頒發機構

圖2 單擊vCenter Server服務器節點
筆者在解決vSphere root CA證書信任問題過程中,還遇到了證書過期的問題。按理說,自動生成的vSphere證書(含主機證書)一般有4-5年的有效期,不容易出現證書過期的問題。正是因為vSphere證書的有效期比較長,很多網絡管理員才不關注證書過期問題。不過,證書過期是遲早的事情,畢竟是證書是有期限的,如果主機(物理服務器)時間出現嚴重偏差,證書就比較容易出現過期的問題。處理證書過期故障的方法也比較簡單,找到過期的證書,續訂即可,具體操作過程如下:
1.登錄到vCenter Server后,單擊頁面頂部“vmware vSphere Web Client”右側的主頁圖標按鈕,出現導航菜單后選擇“主頁”(快捷鍵:Ctrl+Alt+1)。
2.進入“主頁”后,單擊“系統管理”欄目下的“系統配置”圖標。
3.進入“系統配置”頁面后,單擊“對象”選項卡,在對象列表中單擊vCenter Server服務器節點(如圖2)。
4.進入vCenter服務器節點管理頁面后,單擊“管理”選項卡,在“管理”選項卡下選擇“證書頒發機構”。
5.作為加強的安全措 施,vSphere vCenter Server要求驗證密碼后才能查看證書信息。出現驗證密碼頁面后,單擊“驗證密碼”。彈出“輸入密碼”對話框后,輸入登錄vCenter Server服務器的密碼即可。
6.此時可以看到“證書已過期或即將過期”的錯誤提示,關閉錯誤提示框。
7.在證書列表中,觀察“有效期至”列,很容易找到紅色感嘆號標識的過期證書,在“主體”列中可以看到過期證書的主體信息。筆者所遇到的過期證書是一臺主機的證書,主體列包含了過期證書的主機IP等信息(如圖3所示)。
8.單擊頁面頂部“vmware vSphere Web Client”右側的主頁圖標按鈕,出現導航菜單后選擇“主機和群集”,進入主機和群集頁面后,雙擊打開證書已過期的主機。
9.進入主機配置頁面后,單擊“配置”選項卡,在“配置”選項卡下選擇頁面左側導航菜單“系統”下面的“證書”。此時右側顯示就是該主機的證書信息,單擊“續訂”按鈕即可續訂證書(如圖4所示)。

圖3 過期證書

圖4 續訂證書
10.出現“續訂證書”提示窗口后,單擊“是”按鈕為主機續訂證書。在本例中,原過期證書的期限是“2013/2/5-2018/2/5”,續訂證書后的期限是“2018-11-6-2023/1/30”。
前面通過信任證書排除證書故障的方法只適用于某臺需要登錄vCenter Server的電腦,如果在另外一臺電腦 登 錄vCenter Server,同樣需要下載安裝VMCA生成的root CA證書。如果想隨時隨地登錄vCenter Server,而且不受操作系統限制,只能用商業證書頒發機構簽署的證書替換掉vCenter Server默認的證書(VMCA簽署的證書)。同理,如果單位的安全策略有相關證書要求,如單位有自己的CA,需要使用單位CA簽名的證書等。
如果沒有商業證書頒發機構簽署的證書,單位也沒有自己的CA,只要單位有Windows服務器操作系統,還可以將Windows服務器配置成CA證書服務器(Windows Server 2003以上的服務器系統都可以配置為CA證書服務器)。單位有了自己私有證書服務器,就可以自定義證書。
vSphere允許使用商業證書頒發機構簽署的證書、第三方單位CA或單位私有CA等自定義證書,在vSphere中將證書替換自定義證書的具體替換方法可參考VMware產 品 文 檔“在 vSphere中使用自定義證書”(網址:https://docs.vmware.com/cn/VMware-vSphere/6.7/com.vmware.psc.doc/GUIDDC693417-78CF-477F-9A4FAFC9AA1D74E7.html)。