Xendesktop5连接vmware VCSA6.0报错及VCSA6.0更换证书问题

早过忘川 提交于 2020-10-25 17:41:45

  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 root@x.x.x.x:/root/

wKiom1YwvU_j-Ji5AAB2-jovkKw281.jpg

下载test.txt文档到D盘根目录:pscp root@x.x.x.x:/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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!