Sunday, April 14, 2019

为VCSA 6.5替换ADCS管理的证书

证书问题总是一个不大不小的话题,来到了VCSA 6.5里也一样,所以,本文介绍一下如何为VCSA 6.5结合微软的CA服务区申请替换掉内部安全证书。做这个事情的前提是要先配置一台微软的CA服务器,这个配置过程就不说了,本身就不复杂。8 M# }# p' [% F) r7 t+ t$ L

本文主要说说如何命令行替换掉VCSA 6.5的证书,流程如下:- a  ^1 [' J# ?* ~  B1 }* E5 F  d
2 o" G  u0 A5 O6 Z) p+ \' H( l
1、首先进入到VCSA 6.5的命令行界面,如图所示,执行如下命令打开VCSA 6.5的证书管理器:9 M- v3 D4 A$ p

?
1
#/usr/lib/vmware-vmca/bin/certificate-manager



2、然后可以看到很多选项,这里根据我们的实际情况,选择第1个选项,输入字母1,之后,会弹出一堆内容让我们填写,这些内容是用于生成SSL证书所需要的CSR文件之前所需的CFG文件,这也是生成自定义证书的必经之路了。如图所示:-

 E9 @. k" ?1 _. N& m
* u& Q- l+ a% \, b' I, v1 ]9 r
填写完成后,就会自动生成两个文件,一个是用于向ADCS提交申请证书内容的CSR文件,一个则是SSL Key文件;! l7 Z/ H0 a. [; q' h$ y6 P
) U9 q1 x8 |$ f- r
3、下图就展示这两个文件,可以根据情况自己改名。这里的文件位置也是在第2步里自行制定的:/ D6 B- T( c  ]
% k- |:
 N4 x8 V. p9 m" a. o' }0 s7 \
1 m4 M6 Q8 T9 G9 j; |+ m
4、接下来自然是去到证书服务器里执行一个“Submit new request”了:




这个动作完成后,就来到下一步了;

5、http://cs/certsrv地址来到下图所示界面,将前文所生成CSR文件里的内容贴到图中的框里,然后模板选择第4步里 准备好的模板后,Submit:- B- A& c5 \


3 p/ m! Z1 T


6、几秒种后,就会来到下图所示界面,选择Base 64 encoded,然后下载Download certificate chain回来:) L" d# |# H- y5 i& v% c
0 g; P. Z8 {! ]0 }1 B



: M+ G7 j  h5 o& U" _& Y. G# U2 L( [
7、打开下载到的p7b文件,然后如图所示点击Export:
5 E( m4 A/ d4 d
: n) S: ^7 G" P4 r8 @# A& X; s% w' f
8、选择Base-64 encoded X.509格式,将它导出:


) T3 ^" m  c3 p; d* ]4 r0 h0 e* P

9、最后,将生成的那个xxx.cer文件利用WinSCP之类的工具传到VCSA 6.5的相关位置,然后按下图所示的2选项导入,根据提示分别填入讯息即可完成:, U2 i$ r

1 f0 \) ]9 o- Y8 x% F
/ {6 C' W& c, q- [) h' L) \2 Z
10、等待几分钟时间后可以看到如下成功提示:  D( Q. F

/ v4 o! h+ E
/ s6 |3 y+ k  K8 h; G) i1 O. Y1 s) K
* U( ^: S: D2 @* ~! q2 y+ Z
此后,再次登录vCenter时,就可以看到代表安全的小锁4 \- w& 

P0 _' y) L0 O' b3 e/ K+ ?


至此,就成功完成了这个工作啦。0 A* M1 L- s! A4 A2 P
' h5 K& a1 o9 n, T" x" A) j
补充说明:
1、有时候可能会出现类似0%这样的证书报错讯息时,如图所示:; i; F* K; o( y' J2 j) h% _4 F5 t

?
1
2
3
Status: 0% completed [operation failed, performing automatic rollback]
Error while replacing Machine SSL Cert, please see /var/log/vmware/vmcad/certificate-manager.log for more information.
- p9 E& a& `. g8 C  Q/ ]

, t: X3 a) K* x9 a$ U  J% R
2、这往往意味着还需要去到VCSA的CA管理里面将需要导入的证书Publish一下,那么,请执行如下命令:

?
1
#/usr/lib/vmware-vmafd/bin/dir-cli trustedcert publish --chain --cert Machine_Certificate.cer

0 k& V: k1 J, {' n8 S' \# @" _5 y& P+ `
% _3 i6 t5 f5 W. [8 Y
备注:这里的“Machine_certificate.cer”是你要发布证书的路径;

升级ESXi 6.5到6.7


1、点击这里,下载ESXi 6.7的Depot包:VMware-ESXi-6.7.0-8169922-depot.zip ;

2、将下载到的包上传到打算升级ESXi 6.5主机能访问到的Datastore位置,然后执行如下命令尝试通过Profile进行升级:
#esxcli software sources profile list -d /vmfs/volumes/datastore/VMware-ESXi-6.7.0-8169922-depot.zip

这条命令会显示如下图所示的结果:

3、然后根据找到的profile名字,执行如下命令尝试升级:
#esxcli software profile update -d /vmfs/volumes/datastore/VMware-ESXi-6.7.0-8169922-depot.zip -p ESXi-6.7.0-8169922-standard

注意,后面加上“-p ESXi-6.7.0-8169922-standard”这个参数指明profile对象。如果无误,结果如下图所示:

如果确认无误,最后可以执行命令"vmware -vl"查看结果。















  1. ESXi-5.5.0-20140704001-standard-包含所有修补程序
  2. ESXi-5.5.0-20140704001-no-tools-包含所有修补程序,但不包含VMware Tools
  3. ESXi-5.5.0-20140701001s-standard-仅包含安全补丁
  4. ESXi-5.5.0-20140701001s-no-tools-仅包含安全补丁程序,不包含VMware Tools

升级VCSA 6.5到6.7d


1、首先,点击这里,下载专用于升级VCSA 6.5的ISO文件VMware-vCenter-Server-Appliance-6.7.0.14000-9451876-patch-FP.iso。注意,这个是不能下载标准的ISO的,因为标准版本的ISO文件是不能响应这个命令的;

2、下载到这个ISO文件之后,将它添加到VCSA 6.5虚拟机,然后执行如下命令:
>software-packages stage --iso

如下图所示:
 
3、然后,成功stage之后,查看stage到的内容,命令为:
>software-packages list --staged

如下图所示:

4、最后,执行如下命令开始安装:
>software-packages install --staged

结果如下图所示:
最后,成功完成升级即可结束了。

ESXi 6.7到6.7 Update 1时报错

尝试用esxcli命令升级ESXi 6.7到6.7 Update 1时,在运行时提示如下提示:) H5 R3 r7 j- f9 G4 t

?
1
2
3
4
[DependencyError]
 VIB VMware_bootbank_esx-base_6.7.0-1.28.10302608 requires esx-update >= 6.7.0-1.28, but the requirement cannot be satisfied within the ImageProfile.
 VIB VMware_bootbank_esx-base_6.7.0-1.28.10302608 requires esx-update << 6.7.0-1.29, but the requirement cannot be satisfied within the ImageProfile.
 Please refer to the log file for more details.
0 a/ v3 R) L1 I2 h

提示如下图所示:3 I5 b$ S6 r# M5 x$ n  [


出现这个错误之后,如果在命令后面加上-f也能强制升级,但是,重启后系统会提示网路卡丢失的错误,而再次重启系统后系统自动回滚到升级前的版本;

这问题其实来源于升级命令差异,所以换个命令,如下:

?
1
#esxcli software vib install -d /vmfs/volumes/datastore/update-from-esxi6.7-6.7_update01


然后重启系统,成功完成升级,所以,这个错误的关键点就在于执行了如下命令:6 O9 }9 ]8 {" @7 |$ R1 O

?
1
#esxcli software vib update -d /vmfs/volumes/datastore/update-from-esxi6.7-6.7_update01
! O, ~5 j3 Z' g: m8 {

不执行这条命令就不会报这个错误。" g