今天給 ESXi 更新到 5.1 update2 (1483097) 以後,我平常用來跑 vSphere Client 的 XP 就沒辦法連上 ESXi 了
用 Windows 7 卻沒什麼問題,所以重新檢查了 XP ,確認安裝的確實是相應的新版本
上網查了一下,發現是個普遍問題,ESXi 5.5 或 ESXi 5.1 update2 都有這樣的情況
原因簡單來說,是因為 ESXi 停用了較不安全的 cipher suite
而 XP/2003 正是使用了不夠安全的 cipher suite 去連線,所以就失敗了
若是 64 位元的系統,可以透過安裝 Windows 更新來解決:
http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix192447/3790/free/351403_ENU_x64_zip.exe
http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix192447/3790/free/351385_ENU_i386_zip.exe
偏偏我用的是 32 位元的 XP 啊…那就只能降低 ESXi 的安全性設定了
方法如下:
- ssh 連線到 ESXi
- 移動到設定檔的位置:cd /etc/vmware/rhttpproxy/
- 先做個備份:cp config.xml config_bak.xml
- 修改 config.xml :vi config.xml
- 找到 <vmacore> 裡面的 <ssl> 區塊
- 在裡面加上一行:<cipherList>ALL</cipherList>
- 存檔後重啟服務:/etc/init.d/rhttpproxy restart
修改後的 ssl 區塊應該長成這樣:
1 2 3 4 5 6 7 |
; html-script: false ]<ssl> <doVersionCheck> false </doVersionCheck> <useCompression>true</useCompression> <libraryPath>/lib/</libraryPath> <handshakeTimeoutMs>120000</handshakeTimeoutMs> <cipherList>ALL</cipherList> </ssl> |
上述步驟做完後我就可以正常連線了。
參考資料:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2049143