작업을 하려고 vCenter 웹에 접속하였더니 500 Internal error를 뱉으며 접속이 불가했다.
그래서 vCenter의 management port인 5480으로 접속 후에 로그인 시도를 했더니, SSL 인증서가 만료되었다고한다.
지난주 금요일에도 새벽에 다른 웹 어플리케이션 SSL 인증서 갱신 작업을 하고왔는데.. 얘도 만료되었네. 이 친구도 다시 살려보자.
[01] SSH 접속, shell mode로 전환
SSH로 vCenter 서버에 접속한다. 접속하면 embedded된 플랫폼 CLI 모드이니, shell 모드로 전환한다.
혹시 SSH 접속 권한이 막혀있다면, vCenter 콘솔에 접속해서 System Customization > Trubleshooting Mode Options > SSH - enable 해주면 된다.
[02] Certificate-manager 실행
다음 경로의 cert-manager 실행. /usr/lib/vmware-vmca/bin/certificate-manager
[03] cert 갱신 진행
8번을 선택하여 reset 하였다. 다른 설정들은 무관해보여서 기본 값으로 진행했다.
Note : Use Ctrl-D to exit. Option[1 to 8]: 8 Do you wish to generate all certificates using configuration file : Option[Y/N] ? : Y Please provide valid SSO and VC privileged user credential to perform certificate operations. Enter username [Administrator@vsphere.local]: Enter password: Please configure certool.cfg with proper values before proceeding to next step. Press Enter key to skip optional parameters or use Default value. Enter proper value for 'Country' [Default value : US] : Enter proper value for 'Name' [Default value : CA] : Enter proper value for 'Organization' [Default value : VMware] : Enter proper value for 'OrgUnit' [Default value : VMware Engineering] : Enter proper value for 'State' [Default value : California] : Enter proper value for 'Locality' [Default value : Palo Alto] : Enter proper value for 'IPAddress' (Provide comma separated values for multiple IP addresses) [optional] : Enter proper value for 'Email' [Default value : email@acme.com] : Enter proper value for 'Hostname' (Provide comma separated values for multiple Hostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : example.domain.com] : Enter proper value for VMCA 'Name' *** Continue operation : Option[Y/N] ? : Y You are going to reset by regenerating Root Certificate and replace all certificates using VMCA Continue operation : Option[Y/N] ? : Y |
는 바로 오류를 뱉었다. Hostname mismatch.. error를 뱉는 py 파일을 열어서 hostname을 체크하는 구절을 바꿔주었다.
context = SSLContext(PROTOCOL_TLS)
if purpose == Purpose.SERVER_AUTH:
# verify certs and host name in client mode
context.verify_mode = CERT_REQUIRED
context.check_hostname = False
변경 후에 다시 진행. 완료 후에 vCenter Web 접속하여 확인.
해결 완료b
'Engineering > etc.' 카테고리의 다른 글
[Wireshark] Diameter dictionary 추가 (0) | 2024.11.18 |
---|