xendesktop5早期部署時使用xenserver,後統一更換爲vmware vsphere(vcenter5.1),後來vcenter5.1升級到5.5,再升級至vcenter server appliance 6.0。最近想發佈一臺win7系統,發現增加host時報錯,無法連接vmwrae vcenter。報錯如下:
Script history: Create Connection This script will create a new connection for hosts to use New-Item -Path 'xdhyp:\connections' -Name 'venter6' -HypervisorAddress @('http://10.100.x.x/sdk') -ConnectionType 'VCenter' -Username 'root' -Password '********' -AdminAddress 'xxxxendesktop5.domain.com' New-Item : The hypervisor was not contactable at the supplied address. + CategoryInfo : InvalidOperation: (:) [New-Item], InvalidOperationException + FullyQualifiedErrorId : Citrix.XDPowerShell.HostStatus.HypervisorNotContactable,Microsoft.PowerShell.Commands.NewItemCommand
網上搜索了一下官方文檔和其他類似問題,基本確定兩個問題:
1>、ssl證書安裝問題;2>、vcsa ssl證書更換問題。
1、證書安裝問題:
在citrix官方討論區,看到類似問題的網友處理辦法爲:在DDC上安裝證書時,存儲位置選擇“本地計算機”的“第三方根證書頒發機構”。但使用VMCA的證書無法通過驗證,需要更換證書。
Having re-looked at the architecture, I figured out that the DELIVERY CONTROLLER is the one that has to auth against the VCENTER. So I installed the rui-ca-cert.pem to the LOCALCOMPUTER/THIRD PARTY ROOT CERTIFICATION Store on the DELIVERY CONTROLLER (also called the DDC) and it worked!
If you running VCENTER on Windows, I believe you will need the cacert.pem, usually located at C:\ProgramData\VMware\VMware VirtualCenter\SSL\cacert.pem
2、vcsa ssl證書更換問題:
由於VCSA 6.0升級後一直未使用公司CA簽發過證書,使用的是VMCA自帶的證書,頒發者和使用者均爲localhost.localdom。xendesktop驗證通不過。需要更換,方法如下:
使用自定義的證書頒發機構簽發的證書更換vSphere6.0 SSL證書(KB: 2112277)
1、啓動/usr/lib/vmware-vmca/bin/certificate-manager證書管理程序,具體請參考以下KB: 2097936
2、選擇Option 1 (Replace Machine SSL certificate with Custom Certificate),並輸入SSO管理員密碼
3、選擇Option 1 (Generate Certificate Signing Request(s) and Key(s) for Machine SSL certificate),並輸入保存csr和key的絕對路徑,如/root/ssl
4、通過Microsoft CA證書頒發機構簽發證書。具體請參考以下KB: 2112014和KB: 2112009
5、上傳已簽發的VCSA證書和根證書(如有中級CA,需要和根CA合併成一個)到VCSA服務器,並修改名稱爲:machine_ssl.cer和Root64.cer。具體請參考“使用putty上傳或下載文件到linux服務器”和KB: 2107727
不上傳證書的方法(通過複製粘貼新建證書文件):
通過記事本打開已簽發的證書,拷貝-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE-----代碼,在服務器上新建machine_ssl.cer和Root64.cer(有中級證書的需要合併成一個,中級證書在上,根證書在下)文件,粘貼保存即可。在/root/ssl自定義的證書保存目錄下一共有4個文件,如下圖。
vcenter6:~/ssl # vi machine_ssl.cer vcenter6:~/ssl # vi Root64.cer
6、選擇Option 1 (Continue to importing Custom certificate(s) and key(s) for Machine SSL certificate),返回證書管理
7、輸入有效的自定義machine_ssl證書、key,簽名根證書的完整路徑。(如下圖)
8、輸入Y開始處理請求,更換成功。
http://kb.vmware.com/kb/2112277
http://www.mylesgray.com/security/using-ad-signed-certificates-with-vcenter-server-appliance-6/
更換證書完成後,需要在DDC服務器上安裝企業CA的根證書、中級證書、新頒發的VCSA證書(安裝時需要注意上面的“ssl證書安裝問題”)。再使用xendesktop5連接vcsa6.0,連接成功。
注意:通過ssl證書認證連接host時,Address地址需要使用https://x.x.x.x/sdk,使用http則無法連接上。
以下爲更換VCSA6.0證書時需要了解和使用到的知識點及操作步驟。
1、瞭解和使用vSphere6.0證書管理器(KB: 2097936)
http://kb.vmware.com/kb/2097936
2、使用Microsoft證書頒發機構獲取vSphere證書(KB: 2112014)
先創建vsphere 6.0 ssl證書模板:
2.1、創建Microsoft證書頒發機構的vSphere 6.0 SSL證書模板(KB: 2112009)
1>、連接企業CA證書服務器,如有多級CA(如SACA\EACA),請連接中級EACA服務器;
2>、在開始運行窗口,輸入certtmpl.msc命令,啓動證書模板控制檯;
3>、選擇“Web 服務器”模板,右鍵選擇“複製模板”,並選擇兼容性,一般使用windows2003。如果你使用的加密等級高於sha1,則選擇windows2008;
4>、在模板的“常規”選項輸入模板名稱,如“vSphere 6.0”。打開“擴展”選項的“應用程序策略”,刪除“服務器身份驗證”。編輯“密鑰用法”,勾選“數字簽名爲原件的證明(認可)”;
注意:證書模板vSphere 6.0中“擴展”->“密鑰用法”->“使這個擴展成爲關鍵”可以勾選上(官方文檔未提及)
5>、打開“使用者名稱”選項,確保“在請求中提供”有勾選中,保存模板;
6>、發佈模板:在開始運行窗口,輸入certsrv.msc命令,啓動證書頒發機構控制檯。選擇“證書模板”右鍵新建“要頒發的證書模板”,在“啓用證書模板”對話框中選擇“vSphere 6.0”模板,確定即可發佈成功。
http://kb.vmware.com/kb/2112009
再使用Microsoft證書頒發機構獲取證書:
2.2、使用Microsoft證書頒發機構獲取vSphere證書(KB: 2112014)
1>、在任一電腦上打開瀏覽器,輸入CA地址:http://CA_server_FQDN/CertSrv/
2>、輸入域用戶名和密碼登錄,選擇“申請證書”->“高級證書申請”;
3>、在證書申請頁面,輸入Base-64編碼(即vcsa ssl證書更換第3步生成的machine_ssl.csr文件中begin和end代碼,可以通過lesst查看csr文件並複製編碼),證書模板選擇“vSphere 6.0”,點擊提交;
4>、選擇“Base 64”編碼,並“下載證書”,保存certnew.cer到本地,改名爲machine_ssl.cer。或通過記事本打開certnew.cer文件,複製所有內容到VCSA系統上vi新建一個machine_ssl.cer保存;
5>、點擊右上角“主頁”,返回證書申請主頁面,選擇“Base 64”並“下載CA證書鏈”,保存certnew.p7b到本地;
6>、雙擊打開certnew.p7b,找到“證書”,在右邊右鍵單擊CA證書,“所有任務”->“導出”,下一步,選擇“Base64編碼X.509(.cer)”,下一步,瀏覽保存路徑,保存爲Root64.cer;
注意:如果只有一個根CA,生成的就一個cer文件;如果有中級CA,就需要逐個導出成cer(如保存爲eaca.cer、saca.cer),並把中級和根CA的內容合併成一個cer證書。cer證書內容從上到下的順序,依次爲中級CA、根CA。具體方法爲:通過記事本分別打開eaca.cer、saca.cer,並把所有內容複製到一個新的文件,另存爲Root64.cer。或直接複製到VCSA系統上vi新建一個Root64.cer保存。
http://kb.vmware.com/kb/2112014
2.3、串聯證書文件,生成pem或cer證書,供參考。
https://www.digicert.com/ssl-support/pem-ssl-creation.htm
3、使用putty上傳或下載文件到linux服務器
上傳test.txt文檔到root目錄:pscp test.txt [email protected]:/root/
下載test.txt文檔到D盤根目錄:pscp [email protected]:/root/test.txt d://
http://stark-summer.iteye.com/blog/2174980
3.1、putty或winscp上傳證書到VCSA報錯時的解決辦法(KB: 2107727)
上傳或下載時報以下錯誤:
解決辦法:
1>、通過ssh或DCUI登錄VCSA系統;
2>、允許bash shell命令:shell.set --enable true
3>、啓動bash shell:shell
4>、修改bash shell的默認設置:chsh -s /bin/bash root 重新上傳或下載即可。
5>、如想返回到Appliance命令行:chsh -s /bin/appliancesh root 退出ssh重新登錄即可。
http://kb.vmware.com/kb/2107727
4、使用VMware的vSphere6.0證書管理器更換證書失敗,在0%提示錯誤:操作失敗,執行自動回滾。(KB: 2111571)
http://kb.vmware.com/kb/2111571
This issue is resolved in VMware vCenter Server 6.0.0b
升級到6.0 update1請參考:http://lorysun.blog.51cto.com/1035880/1664861