昨天刚做出来opessh10.1p1的安装包,今天登录openssh网站就发现又更新了,事出反常,肯定是出来不小的问题才更新这么快。
今天主要说2个问题:
1.这么快更新了openssh 10.2解决了啥问题?
2.顺便说一下这次编译遇到的问题。具体如何编译RPM包,可以看我之前的文章介绍了《告别编译源码!一键完成openssh升级到9.9》
银河麒麟怎么安装openssh 10.2p1? 直接上视频
想要更新包的小伙伴帮忙推广推广我的公众号😁,一键三连(点赞留言讨论转发),之后可以截图私信联系我获取更新包,谢谢了😊
1、更新openssh 10.2解决问题
本版本为漏洞修复版本,主要修复了 “启用 ControlPersist 后导致 ssh(1) 无法使用” 的问题。
漏洞修复
**ssh(1)**:修复了 “ControlPersist 处于活跃状态时,终端连接处理异常导致会话无法使用” 的问题(漏洞编号:bz3872)。
**ssh-keygen(1)**:修复了 “从 PKCS#11 令牌下载密钥” 的功能异常。
**ssh-keygen(1)**:修复了 “CA 密钥存储在 ssh-agent(1) 中时,CA 签名操作失败” 的问题(漏洞编号:bz3877)。
可移植性优化
-
全组件:支持无 mmap(2) 函数的平台,例如 WASM 构建版本(示例:https://hterm.org)。
-
全组件:修复了 FreeBSD 系统上因缺少 fnctl.h 头文件导致的构建失败问题。
-
全组件:修复了 MacOS 10.12(Sierra)以下版本因缺少 clock_gettime(3) 函数导致的构建失败问题。
-
**sshd(8)**:若远程主机名为 “UNKNOWN” 占位符,将不执行 PAM_RHOST 操作。此优化可避免部分 PAM 模块尝试解析该主机名时可能出现的挂起问题。需注意,仅当连接不通过 IPv4 或 IPv6 套接字建立时,sshd(8) 才会使用 “UNKNOWN” 作为主机名。
2、编译遇到的错误及解决办法
还是用脚本编译最新的安装包,遇到个错误
~/openssh-rpms-main/el7 ~/openssh-rpms-main
‘/root/openssh-rpms-main/downloads/openssh-10.2p1.tar.gz’ -> ‘./SOURCES/openssh-10.2p1.tar.gz’
‘/root/openssh-rpms-main/downloads/openssl-3.0.18.tar.gz’ -> ‘./SOURCES/openssl-3.0.18.tar.gz’
‘/root/openssh-rpms-main/downloads/x11-ssh-askpass-1.2.4.1.tar.gz’ -> ‘./SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz’
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.CUAJLh
+ umask 022
+ cd /root/openssh-rpms-main/el7/BUILD
+ cd /root/openssh-rpms-main/el7/BUILD
+ rm -rf openssh-10.2p1
+ /usr/bin/gzip -dc /root/openssh-rpms-main/el7/SOURCES/openssh-10.2p1.tar.gz
+ /usr/bin/tar -xf –
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd openssh-10.2p1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ mkdir -p openssl
+ tar xfz /root/openssh-rpms-main/el7/SOURCES/openssl-3.0.18.tar.gz –strip-components=1 -C openssl
+ pushd openssl
~/openssh-rpms-main/el7/BUILD/openssh-10.2p1/openssl ~/openssh-rpms-main/el7/BUILD/openssh-10.2p1
+ ./config shared zlib -fPIC
Configuring OpenSSL version 3.0.18 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Can't locate Time/Piece.pm in @INC (@INC contains: . /root/openssh-rpms-main/el7/BUILD/openssh-10.2p1/openssl/Configurations /root/openssh-rpms-main/el7/BUILD/openssh-10.2p1/openssl/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 /root/openssh-rpms-main/el7/BUILD/openssh-10.2p1/openssl/external/perl/Text-Template-1.56/lib) at Makefile.in line 37.
BEGIN failed–compilation aborted at Makefile.in line 37.
error: Bad exit status from /var/tmp/rpm-tmp.CUAJLh (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.CUAJLh (%prep)
错误的原因可能是当你在运行 Perl 脚本时遇到 Can't locate time/piece.pm in @INC 错误,这意味着 Perl 无法找到所需的模块 Time::Piece。这通常是因为该模块尚未安装。
示例
Can't locate Time/Piece.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5 /usr/share/perl5 .) at script.pl line 1
解决的办法就是安装该模块
错误处理过程
确保你的机器连网,执行以下命令
perl -MCPAN -e 'install Time::Piece'
然后一路回车,开始安装,遇到提示就是回车,之后重新编译openssh安装包

