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 root@x.x.x.x:/root/
下载test.txt文档到D盘根目录:pscp root@x.x.x.x:/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
来源:oschina
链接:https://my.oschina.net/u/4305979/blog/4293866