Xendesktop5連接vmware VCSA6.0報錯及VCSA6.0更換證書問題

  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

參考:http://discussions.citrix.com/topic/350566-config-citrix-studio-75-connection-vmware-vsphere-then-have-error-cannot-connect-to-the-vcenter-server-due-to-a-certificate-error/


  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

  wKioL1YyDnnwPpxlAAA5DEZRlPo317.jpg

6、選擇Option 1 (Continue to importing Custom certificate(s) and key(s) for Machine SSL certificate),返回證書管理

7、輸入有效的自定義machine_ssl證書、key,簽名根證書的完整路徑。(如下圖)

8、輸入Y開始處理請求,更換成功。

wKiom1YyBynAaGwpAAHCgY4e_48693.jpg

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,連接成功。

wKioL1Yy1IKA4yxtAACzH0B2XwQ750.jpg

注意:通過ssl證書認證連接host時,Address地址需要使用https://x.x.x.x/sdk,使用http則無法連接上。


  以下爲更換VCSA6.0證書時需要了解和使用到的知識點及操作步驟。

1、瞭解和使用vSphere6.0證書管理器(KB: 2097936

wKiom1YwvZfSDlE0AAJM91tvHL0624.jpghttp://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”,點擊提交;

wKiom1Yy6KKSA7IdAAExJqQkhxc144.jpg

  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/

wKiom1YwvU_j-Ji5AAB2-jovkKw281.jpg

下載test.txt文檔到D盤根目錄:pscp [email protected]:/root/test.txt d://

wKiom1Yx1D3CrLKOAABfhTKjGIs614.jpg

http://stark-summer.iteye.com/blog/2174980

 3.1、putty或winscp上傳證書到VCSA報錯時的解決辦法(KB: 2107727

  上傳或下載時報以下錯誤:

wKioL1Yx0y3RwskBAABt6Ig5wgo754.jpg

  解決辦法:

  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章