Centos7&银河麒麟v10升级到openssh-10.6p1版本
发行背景
银河麒麟 V10 Server 在技术血统上源自 CentOS/RHEL 体系,两者共享 RPM 包格式、glibc 向后兼容机制、Linux 内核 ABI 稳定性、GCC 工具链和 FHS 目录规范,这五大支柱共同保证了 CentOS 7 编译的 RPM 包可以在银河麒麟 V10 上正常安装和运行。
但是反之不亦然,银河麒麟 V10 更像 CentOS 8,glibc 采用了 2.28,而 CentOS 7 采用 glibc 2.17,所以不能向下兼容。博客后续发布的版本,均基于 CentOS 7 进行发布,包括但不限于 Nginx / Redis 等软件包。
安装手册参考此文章:https://cikeblog.com/upgrade-openssh-to-openssh-10-0p1-under-centos7.html
本次版本由 10.4p1 更新到 OpenSSH 10.6p1,x86_64 与 aarch64 双架构同步发布。
编译环境
x86_64 编译宿主机:
[root@72f133f64943 x86_64]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@72f133f64943 x86_64]# uname -m x86_64 [root@72f133f64943 x86_64]# gcc --version | head -1 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
aarch64 编译宿主机(CentOS 7 AltArch):
[root@3a7772b4241d aarch64]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (AltArch) [root@3a7772b4241d aarch64]# uname -m aarch64 [root@3a7772b4241d aarch64]# gcc --version | head -1 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
两个构建环境的 glibc 均为 2.17,产物可同时用于 CentOS 7 与银河麒麟 V10 SP1。
编译程序来源
https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.6p1.tar.gz https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz
测试情况
编译后的程序在 CentOS 7 与银河麒麟 V10 SP1 上安装、登录测试通过。两个架构的包依赖最高只到 GLIBC_2.17,且未动态依赖 OpenSSL 库(OpenSSL 已静态链接进二进制),因此不受目标机 OpenSSL 版本影响。
安装命令
rpm -ivh --force --nodeps --replacepkgs --replacefiles openssh-*.rpm
升级前请先备份 sshd_config,并确认密钥登录可用,避免升级过程中连接中断后无法登录。
程序下载
arm64(aarch64):https://download.cikeblog.com/openssh/openssh-10.6p1-1.el7.aarch64.tgz
x86_64:https://download.cikeblog.com/openssh/openssh-10.6p1-1.el7.x86_64.tgz
每个压缩包内包含 4 个 RPM:openssh、openssh-clients、openssh-server、openssh-askpass。