昨天刚做出来opessh10.1p1的安装包,今天登录openssh网站就发现又更新了,事出反常,肯定是出来不小的问题才更新这么快。
想要获取一键安装包可以关注我的公众号联系我获取。
今天主要说2个问题:
1.这么快更新了openssh 10.2解决了啥问题?
2.顺便说一下这次编译遇到的问题。具体如何编译RPM包,可以看我之前的文章介绍了。手搓OPENSSH安装RPM包
更新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” 作为主机名。
编译遇到的错误及解决办法
还是用脚本编译最新的安装包,遇到个错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| ~/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。这通常是因为该模块尚未安装。
示例
1
| 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
|
解决的办法就是安装该模块
错误处理过程
确保你的机器连网,执行以下命令
1
| perl -MCPAN -e 'install Time::Piece'
|
然后一路回车,开始安装,遇到提示就是回车,之后重新编译openssh安装包