소개
HXDP [3.5(x), 4.0(x)] 및 ESXi 6.7P04(빌드 17167734) 이상 간에 소프트웨어 상호 운용성 문제가 있습니다. 고객은 이 소프트웨어 조합을 피해야 합니다.
참고: 이 문제는 6.7P04 이상의 6.7 ESXi 버전으로 확장됩니다.
호환성 문제는 HXDP 4.0(2e)에서 해결되었습니다. 이 문제는 HXDP 4.5(1a) 이상에는 영향을 미치지 않습니다.
요구 사항
ESXi 6.7P04(빌드 17167734) 이상
HXDP 버전 - 3.5(x), 4.0(x)
추가 정보
결함
관련 버그 ID는 CSCv88204
- HXDP와의 ESXi OpenSSH 상호 운용성 문제
VMware에서 openSSH 라이브러리를 OpenSSH_8.3p1로 업그레이드하기 때문에 ESXi 6.7P04에서 문제가 발생합니다. 이 새로운 버전의 OpenSSH는 SSH를 통해 ESXi와 직접 통신할 때 HXDP에서 내부적으로 사용하는 키 교환 방법을 지원하지 않습니다. 다음은 OpenSSH 변경 로그에서 해당 버전의 변경 내용을 설명하는 코드 조각입니다.
ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1 from the default key exchange proposal for both the client and server.
소프트웨어 자문
자세한 내용은 Software Advisory - ESXi 6.7 P04용 Cisco Software Advisory 참조
영향을 받는 영역
HX의 일부 기능 영역은 다음과 같은 영향을 받습니다.
- 신규 클러스터 생성(알고리즘 협상 실패로 실패할 수 있음)

- 클러스터 확장(알고리즘 협상 실패로 실패할 수 있음)

- 클러스터 재등록(stcli 클러스터 재등록이 "알고리즘 협상 실패"로 실패할 수 있음)

- HX Connect의 시스템 정보 페이지
- "호스트에 대한 SSH 연결 설정 실패" 또는 "업그레이드 중에 발견된 오류"로 인해 업그레이드가 실패할 수 있습니다.
ESXi 업그레이드가 ssh 예외로 실패함 -
2020-12-16-10:31:04.675 [] [] [vmware-upgrade-pool-9] 오류 c.s.sysmgmt.stMgr.SshScpUtilImpl - 호스트에 대한 SSH 연결을 설정하지 못했습니다. 호스트에 연결할 수 없거나 잠금 모드에 있음
com.jcraft.jsch.JSchException: 알고리즘 협상 실패


해결 방법
HXDP 릴리스 노트는 특히 3.5(x) 및 4.0(x) 릴리스에서 지원되지 않는 이 6.7 버전을 호출하도록 업데이트되었습니다. 이 문제는 HXDP 4.0 패치 4.0(2e) 및 모든 릴리스 4.5(1a) 이상에서 해결되었습니다.
- ESXi에 내장된 롤백 메커니즘을 사용하여 호환되는 ESXi 버전으로 롤백합니다.
- 또 다른 해결 방법은 각 ESXi 호스트에서 sshd_config를 업데이트하고 SSH 서비스를 다시 시작하여 제거된 키 교환 방법을 다시 활성화하는 것입니다. 이 해결 방법은 일시적으로만 구현하는 것이 좋습니다.
참고: 목표는 클러스터를 고정 HXDP 릴리스로 이동하고 가능한 한 빨리 이 해결 방법을 제거하는 것입니다. 클러스터는 sshd_config에 추가된 이 추가 키 알고리즘 설정을 사용하여 오랫동안 이 상태를 유지해서는 안 됩니다.
해결 단계
HXDP를 고정 릴리스로 업그레이드할 수 없는 경우 다음 해결 방법을 사용하십시오.
해결 방법 1
해결 방법 2
각 ESXi 호스트에서 sshd_config를 업데이트하고 SSH 서비스를 다시 시작하여 제거된 키 교환 방법을 다시 활성화합니다.
- 각 ESXi 호스트의 /etc/ssh/sshd_config 아래에 +diffie-hellman-group14-sha1을 KexAlgorithms에 추가합니다
# echo "KexAlgorithms +diffie-hellman-group14-sha1" >> /etc/ssh/sshd_config
- KexAlgorithms +diffie-hellman-group14-sha1이 /etc/ssh/sshd_config에 표시되는지 확인합니다.

# /etc/init.d/SSH restart

- 이전에 실패한 워크플로를 다시 시작하거나 다시 시작합니다.