本文档旨在指导用户在银河麒麟V10操作系统上通过源码编译的方式将存在高危及超危漏洞CVE-2023-38408, CVE-2023-51385, CVE-2020-15778的默认OpenSSH 8.2p1组件安全、可靠地升级至9.8p1或更高版本。本方案经验证无需强制升级系统OpenSSL可有效规避因OpenSSL版本变更引发的兼容性问题。一、 背景与风险说明银河麒麟V10默认预装的OpenSSH版本为8.2p1该版本已被公开披露存在多个严重安全漏洞CVE-2023-38408 (超危):ssh-agent远程代码执行漏洞。CVE-2023-51385 (超危):ProxyCommand命令注入漏洞。CVE-2020-15778 (高危): SFTP子系统中的操作系统命令注入漏洞。官方建议修复上述漏洞需将OpenSSH升级至 9.8p1 或更高版本。重要提示: 升级核心服务如OpenSSH存在连接中断风险。强烈建议在操作前确保您拥有物理控制台访问权限或已配置备用远程管理通道如Telnet以防升级失败导致失联。二、 准备工作环境包准备OpenSSH 9.8p1 源码包:openssh-9.8p1.tar.gzPAM开发依赖包:pam-devel-1.4.0-8.p10.se.06.ky10.x86_64.rpm(或其他适用于您系统的版本)检查当前版本ssh -V # 预期输出: OpenSSH_8.2p1, OpenSSL 1.1.1f ...3.完整备份现有配置执行以下命令对关键配置文件进行备份以便于回滚。# 备份SSH配置目录 sudo cp -r /etc/ssh /etc/ssh_backup_$(date %Y%m%d) # 可选备份旧版sshd二进制文件 sudo cp /usr/sbin/sshd /usr/sbin/sshd_backup三、 安装依赖与编译安装1.上传并放置环境包将准备好的 openssh-9.8p1.tar.gz 和 pam-devel RPM包上传至服务器的自定义工作目录例如 /opt/ssh_upgrade/。2.安装PAM开发依赖切换到RPM包所在目录并使用 rpm 命令安装。cd /opt/ssh_upgrade/ sudo rpm -ivh --nodeps pam-devel-1.4.0-8.p10.se.06.ky10.x86_64.rpm3.解压OpenSSH源码tar -zxvf openssh-9.8p1.tar.gz cd openssh-9.8p14.配置、编译与安装执行标准的源码编译三部曲。以下配置参数确保新版本与系统路径和PAM认证机制兼容。# 配置编译选项 ./configure --prefix/usr \ --sysconfdir/etc/ssh \ --with-pam \ --with-privsep-path/var/lib/sshd \ --with-privsep-usersshd \ --with-md5-passwords \ --mandir/usr/share/man # 并行编译以加速过程 make -j$(nproc) # 安装到系统 sudo make install四、 配置文件调整新版本的OpenSSH可能会引入一些默认配置项这些配置项在旧版中不存在可能导致服务启动异常。操作指引:1.编辑主配置文件sudo vim /etc/ssh/sshd_config2.根据编译安装后的提示信息通常会明确指出冲突的行号如80-81, 147-149行注释掉在行首添加 #这些新增的、与旧配置冲突的指令行。3.保存并退出。说明: 此步骤是为了确保新sshd能顺利加载旧有的、经过生产验证的配置策略避免因未知的新默认值引发服务故障。五、 验证与收尾1.验证版本ssh -V # 预期输出: OpenSSH_9.8p1, OpenSSL 1.1.1f ... (OpenSSL版本应保持不变)2.重启服务并测试连通性# 重新加载systemd配置如果配置文件有变动 sudo systemctl daemon-reload # 重启sshd服务 sudo systemctl restart sshd # 检查服务状态 sudo systemctl status sshd # **在另一个终端窗口**尝试建立新的SSH连接以验证功能正常。