UIS 巡检中出现 “主机实际密码与数据库一致性检查报错” 且提示Incompatible ssh peer (no acceptable kex algorithm),核心原因是UIS 管理节点与主机(如计算节点 / 存储节点)的 SSH 密钥交换算法不兼容,导致巡检工具无法通过 SSH 正常连接主机验证密码一致性,而非密码本身不一致。具体解决步骤如下:
一、理解报错本质
no acceptable kex algorithm(无可用的密钥交换算法)是 SSH 连接时的典型兼容性问题:
- UIS 管理节点(客户端)和主机(服务器端)支持的 SSH 密钥交换算法(KEX)无交集,导致握手失败,巡检工具无法获取主机密码信息进行比对,从而报 “一致性检查失败”。
- 密码实际可能一致,但因 SSH 连接失败,工具无法验证,故报错。
二、解决 SSH 算法兼容性问题
1. 确认两端支持的 SSH 算法
(1)登录UIS 管理节点,执行以下命令查看支持的 KEX 算法:
ssh -Q kex  # 列出客户端支持的密钥交换算法
(2)登录报错的主机(如计算节点),查看服务器端配置的 KEX 算法:
cat /etc/ssh/sshd_config | grep KexAlgorithms  # 若有配置,直接显示;若无,则使用默认算法
(3)对比两端算法,若无重叠(如管理节点支持curve25519-sha256,而主机仅支持老旧的diffie-hellman-group1-sha1),则需统一算法。
2. 调整主机(服务器端)的 SSH 配置
在报错的主机上修改sshd_config,增加管理节点支持的 KEX 算法:(1)编辑 SSH 配置文件:
(2)添加或修改KexAlgorithms配置(根据管理节点支持的算法补充,以常见兼容算法为例):
KexAlgorithms curve25519-sha256@***.***,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256
(3)保存文件并重启 SSH 服务:
# 不同系统重启命令可能不同,根据主机操作系统选择:
systemctl restart sshd  # 适用于CentOS 7+/RedHat 7+/Debian 9+
service sshd restart    # 适用于CentOS 6/RedHat 6
3. (可选)调整 UIS 管理节点的 SSH 客户端配置
若主机因安全限制无法修改算法,可在UIS 管理节点的 SSH 客户端配置中增加主机支持的算法:(1)编辑客户端配置文件:
(2)添加以下内容(替换为主机支持的 KEX 算法):
    KexAlgorithms +diffie-hellman-group1-sha1  # 仅示例,需替换为实际主机支持的算法
(3)保存后无需重启,立即生效。
三、验证 SSH 连接
在UIS 管理节点上手动测试与报错主机的 SSH 连接,确认是否成功:
ssh 主机IP  # 若能正常登录,说明算法兼容性问题已解决
四、重新执行巡检
解决 SSH 连接问题后,在 UIS 控制台重新发起 “主机实际密码与数据库一致性检查”,此时工具可正常获取主机密码信息,若密码确实一致,报错会消失。
总结
该报错的核心是SSH 密钥交换算法不兼容,而非密码不一致。通过统一 UIS 管理节点与主机的 SSH KEX 算法,确保 SSH 连接正常,即可解决巡检报错。操作时需注意:修改sshd_config后务必重启 SSH 服务,且算法选择需兼顾兼容性与安全性(优先使用curve25519-sha256等现代算法)。
 
								
暂无评论