OpenSSH升级后 libcrypto.so.1.1: cannot open shared object file

文章描述了一次在政务云环境中尝试使用给定的升级文件更新OpenSSH到9.2p1时遇到的问题,包括找不到sftp-server文件和sshd服务因libcrypto.so.1.1库缺失而启动失败。作者按照建议检查文件路径、重装openssh包、查看日志,但问题未解决。最终,通过下载并编译OpenSSL1.1.1u,配置环境变量以及创建软链接解决了问题。
摘要由CSDN通过智能技术生成

之前分享过一篇记一次手动将OpenSSH从7.4升级到9.3的过程

这次又升级时,政务云提供了更加便捷的升级方案

给了一个升级文件:Openssl_UPDATE_to_9.2p1.bin和说明书

OpenSSH升级操作说明

1.将文件中的附件:Openssl_UPDATA_to_9.2p1.bin上传到待升级服务器
2.增加该文件的执行权限: chomd  +x Openssl_UPDATE_to_9.2p1.bin(可用tab命令自动补全文件名)
3.增加执行权限之后,运行文件:./Openssl_UPDATE_to_9.2p1.bin 
4.执行完成后,根据提示输入命令:source /etc/profile。
5.至此OpenSSH升级完成,版本为:9.2。

我高高兴兴的就去执行了~

然而

/usr/bin/cp: cannot stat ‘/usr/libexec/openssh/sftp-server’: No such file or directory
Restarting sshd (via systemctl):  Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
                                                           [FAILED]

执行 systemctl status sshd.service

Jul 20 15:04:08 bogon systemd[1]: Stopped SYSV: OpenSSH server daemon.
Jul 20 15:04:08 bogon systemd[1]: Starting SYSV: OpenSSH server daemon...
Jul 20 15:04:08 bogon sshd[97350]: /usr/bin/ssh-keygen: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
Jul 20 15:04:08 bogon sshd[97350]: /sbin/restorecon:  lstat(/etc/ssh/ssh_host_dsa_key.pub) failed:  No such file or directory
Jul 20 15:04:08 bogon sshd[97350]: Starting sshd:/usr/sbin/sshd: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
Jul 20 15:04:08 bogon sshd[97350]: [FAILED]
Jul 20 15:04:08 bogon systemd[1]: sshd.service: control process exited, code=exited status=127
Jul 20 15:04:08 bogon systemd[1]: Failed to start SYSV: OpenSSH server daemon.
Jul 20 15:04:08 bogon systemd[1]: Unit sshd.service entered failed state.
Jul 20 15:04:08 bogon systemd[1]: sshd.service failed.

问题主要出在

Starting sshd:/usr/sbin/sshd: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

政务云的同志给出了解决办法

"cp: cannot stat ‘/usr/libexec/openssh/sftp-server’: No such file or directory" 错误表示在复制时无法找到指定的文件或目录。而 "Restarting sshd (via systemctl): Job for sshd.service failed because the control process exited with error code." 错误则表示在尝试通过 systemctl 重启 sshd 服务时失败了。

这两个错误可能有关联,通常会发生在 SSH 服务器配置或文件损坏的情况下。

为了解决这个问题,您可以尝试以下步骤:

1. 检查文件路径:确保指定的文件路径 "/usr/libexec/openssh/sftp-server" 是正确的,并且文件确实存在于该位置。您可以使用以下命令来检查文件是否存在:

   ls -l /usr/libexec/openssh/sftp-server

2. 安装或重新安装 openssh 包:如果确保文件路径正确,但文件仍然不存在,可能是由于 openssh 包没有正确安装或损坏。您可以尝试重新安装 openssh 包:

   sudo apt-get install --reinstall openssh-server


3. 查看日志:执行以下命令查看详细的错误日志:

   journalctl -xe

   这将显示与 sshd 服务相关的日志,可能会提供有关错误的更多信息。

如果问题仍然存在,建议您提供更多的背景信息和完整的错误日志,这样我可以更深入地帮助您找到解决办法。

我并没有解决这个问题,我的系统是:CentOS 7.9.2009 x86_64

网上查找解决方案,最终找到了一个靠谱的方案,传送门

解决过程

下载OPENSSL

国内的话推荐使用腾讯云的镜像

如果链接失效,请去掉文件名,直接访问链接获取最新的包链接

#从官网下载
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
 
#腾讯云提供的镜像
wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1g.tar.gz

我下载的时候腾讯云404了,我使用的

wget https://mirrors.cloud.tencent.com/openssl/source/openssl-1.1.1u.tar.gz

编译 openssl

注意文件路径,我实际使用的是openssl-1.1.1u

tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install

执行 make 时耗时会有点长

编译完成后,使用 openssl version 来查看版本当前版本号时,你会发现还是 1.0.2

我这里查询的时候报错了,但是不影响后续的步骤

配置

echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig

再次使用 openssl version 验证版本就可以了

我到了这一步就已经可以了,如果依然不行,可以尝试下面的方式

依次执行(先备份老版本,再从新版本安装位置创建软连接)

mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/lib/openssl /usr/lib/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值