非常感谢,根据您的指导,我修改了一台被管理主机和管理升级的sshd_config,重启sshd,点击主机的存储、虚拟交换机、物理网卡都正常了,现在硬件监控还是不显示,点击存储适配器会弹出?errorCode.2327?
你描述的这个问题,现象很典型。根据现有信息分析,根本原因很可能不是升级操作本身,而是升级过程中对系统环境的改动,意外触发了CAS平台的某个已知限制或兼容性问题。
首先,一个关键背景是:CAS平台的官方升级包,一般不会主动升级操作系统底层的OpenSSH、OpenSSL等RPM包。
你手动升级了SSH、zlib和OpenSSL,这本身属于对CAS宿主机系统的“非常规”操作。虽然升级本身可能成功,但新版本的OpenSSH或OpenSSL可能会导致CAS管理组件(如cas_mon)与主机系统的交互出现问题。
此外,主机上conda等第三方软件的环境变量(如PS1)也可能干扰平台信息获取。虽然你的环境未必安装了conda,但这表明任何对系统环境的非标准修改,都可能引发类似问题。
# CAS V7.0 E0718P03 升级 OpenSSH‑9.9p2+OpenSSL3.4.1 后 CVK 主机异常
>
> 现象:
1. 云资源集群里主机状态正常、虚拟机业务正常运行;
2. **硬件监控无数据、存储页面提示主机连接错误;虚拟机修改配置弹窗打不开;虚拟交换机状态未知**;
3. **仅升级过 SSH/zlib/OpenSSL 的 CVK 出现问题,未升级 CVK 全部正常;CVM 管理节点只升级了其中一台**。
## 根本原因
CAS V7(E0718P03)CVM 管理节点与 CVK 主机之间**大量运维、采集、配置操作依靠 SSH 密钥认证(sftp/ssh 远程执行命令)**。
OpenSSH 9.8 + 版本**默认移除旧的密钥交换、签名算法(ssh‑rsa SHA1)**,CAS 原生的 CVM 侧 SSH 客户端(老版本)与升级后的 CVK(OpenSSH9.9p2)握手协商失败,**SSH 连接建立失败**。
>
> 关键点:
- 虚拟机业务(KVM)完全不受影响,所以集群、虚拟机显示正常;
- **CVM 无法通过 SSH 去 CVK 采集硬件监控、读取存储、获取 vswitch 信息、下发虚拟机修改指令**,就出现你这一套现象;
- 业务虚拟机不依赖 SSH,所以业务不受影响;管理采集通道断掉。
>
> 注意:CAS 原厂不支持手动编译升级 OpenSSH/OpenSSL,官方版本自带的 ssh 是经过适配的;手动升级会破坏 CVM‑CVK 之间的 SSH 密钥通信。
## 现象对应
表格
| 现象 | 本质 |
| --- | --- |
| 硬件监控无数值 | CVM SSH 到 CVK 执行硬件采集脚本失败 |
| 点击存储提示主机连接错误 | SSH 获取 CVK 存储信息失败 |
| 修改虚拟机弹不出对话框 | CVM 无法 SSH 下发配置指令 |
| 虚拟交换机状态未知 | SSH 读取 CVK 上 vswitch 配置失败 |
## 第一步:验证定位(在 CVM 节点执行)
在**CVM 管理节点**,手动 SSH 连接一台故障 CVK 主机(使用 CAS 内部密钥,不是密码登录)
```
# 使用cvm内置的ssh客户端,测试到故障CVK
ssh -v root@故障CVKIP
```
- 如果输出 `no matching kex algorithm found` / `no matching signature algorithm found`,**确认就是算法协商失败**,和你的问题完全匹配。
>
> 不要用手动 ssh 密码登录测试;CAS 内部是密钥认证。
查看 CVK 上 sshd 日志:
```
tail -f /var/log/secure
```
会看到握手失败、密钥协商不匹配日志。
## 方案一:临时修复(修改故障 CVK 的 sshd_config,增加兼容旧算法,业务不中断)
>
> ⚠️仅针对已经升级 OpenSSH‑9.9p2 的 CVK 节点,**CVM 管理节点不要修改**。
1. 登录故障 CVK 主机 root
```
vi /etc/ssh/sshd_config
```
增加下面配置,**开启旧版密钥交换与 RSA‑SHA1 签名算法,兼容 CAS V7 的 CVM 客户端**
```
KexAlgorithms +diffie‑hellman‑group14‑sha256
HostKeyAlgorithms +ssh‑rsa‑sha2‑512
PubkeyAcceptedAlgorithms +ssh‑rsa‑sha2‑512
```
2. 校验配置语法
```
sshd -t
```
3. 重载 sshd 服务
```
systemctl reload sshd
```
4. 回到 CVM,测试 ssh 连通;刷新 CASweb 页面,观察硬件监控、虚拟交换机状态是否恢复。
>
> ⚠️风险:开启旧算法会降低安全等级;这只是临时应急手段,不建议长期保留。
## 方案二:根治方案(推荐,H3C 官方建议)
>
> CAS V7.0 E0718P03 不支持手动升级 OpenSSH/OpenSSL;手动编译升级会破坏平台内部依赖。
1. **回退故障 CVK 上的 OpenSSH、OpenSSL、zlib 到 CAS 系统自带原厂版本**;
2. 回退完成,重启 CVK 节点;
3. 全部 CVK 统一使用平台自带的 SSH 版本;
>
> **CAS 平台漏洞修复,优先使用 CAS 版本补丁包,禁止手动编译升级 openssl/openssh。**
>
> 注意:不要把 CVM 管理节点也做同样的 sshd_config 算法兼容修改,CVM 作为 SSH 客户端,本身是旧版本。
## 方案三:如果回退有困难
1. 全部故障 CVK 执行上面 sshd_config 兼容配置;
2. 等待后续 CAS 版本补丁;
3. 后续不要手动编译升级 openssh/openssl;安全漏洞使用官方 CAS 补丁包修复。
## 重要提醒
1. 不要重启 CVK 的 kvm、libvirtd;虚拟机业务是正常的,只需要重载 sshd 服务。
2. 当修改完 sshd_config 之后,需要**等待几分钟,CVM 会重试连接 CVK,web 页面才能刷新出监控、vswitch 状态**。
3. 如果有两台 CVM 管理节点,**其中一台 CVM 也升级了 OpenSSH,那么这台 CVM 也会无法管理 CVK,需要回退该 CVM 节点的 openssh 版本**。
## 排查日志位置
- CVM 侧:`/var/log/cvm/cvm.log`,搜索 `ssh`、`connect fail`,会看到大量 CVK 连接失败日志;
- CVK 侧:`/var/log/secure`,查看 sshd 握手失败日志。
## 总结
>
> 虚拟机业务不受影响,**仅仅是 CVM 与 CVK 之间 SSH 管理通道协商失败**;因为手动升级 OpenSSH‑9.9p2,新版本默认关闭 CAS V7 CVM 客户端依赖的旧加密算法。
> 优先回退 CVK 的 openssh/openssl 到原厂版本;临时应急可在 CVK 的 sshd_config 增加兼容算法。
我有个疑惑,cvm 上的ssh我也升级了,然后在升级后的cvm上执行ssh-keygen -R 故障CVKIP,在故障CVKIP上执行了ssh-keygen -R cvmip,然后在cvm上执行了 ssh-copy-id 故障CVKIP,在故障CVKIP上执行了ssh-copy-id cvm ,执行了 ssh -v root@故障CVKIP,现在在cvm上执行ssh -v root@故障CVKIP没有报故障。 如果我回滚到旧版本,会不会因为我执行了ssh-keygen -R IP出现新的问题
我有个疑惑,cvm 上的ssh我也升级了,然后在升级后的cvm上执行ssh-keygen -R 故障CVKIP,在故障CVKIP上执行了ssh-keygen -R cvmip,然后在cvm上执行了 ssh-copy-id 故障CVKIP,在故障CVKIP上执行了ssh-copy-id cvm ,执行了 ssh -v root@故障CVKIP,现在在cvm上执行ssh -v root@故障CVKIP没有报故障。 如果我回滚到旧版本,会不会因为我执行了ssh-keygen -R IP出现新的问题
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
非常感谢,根据您的指导,我修改了一台被管理主机和管理升级的sshd_config,重启sshd,点击主机的存储、虚拟交换机、物理网卡都正常了,现在硬件监控还是不显示,点击存储适配器会弹出?errorCode.2327?