服务器大本营

 找回密码
 我要入营

微信扫码 , 快速开始

QQ登录

只需一步,快速开始

查看: 794|回复: 0

Linux在启动SSH服务时出现“error while loading shared libraries”错误

[复制链接]

1万

敬重

555

主题

207

精华

管理员

积分
6967

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 2024-3-22 20:14:07 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x
问题描述
今天飞飞和你分享在Linux系统服务器启动SSH服务时,命令行或secure日志文件出现类似如下的错误信息该如何处理?错误信息如下:
· error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory.
· PAM unable to dlopen(/usr/lib64/security/pam_tally.so): /usr/lib64/security/pam_tally.so: cannot open shared object file: No such file or directory.

问题原因
SSH服务的运行依赖相关系统库文件。该问题通常是由于相关库文件异常所致,即文件丢失或权限配置异常等。

解决方案
本文仅以libcrypto.so.10库文件异常为例进行说明,其他库文件处理方法类似。

查看相关库文件的信息
1、登录正常服务器,执行如下命令,查看libcrypto.so.10库文件的信息。
  1. ll /usr/lib64/libcrypto.so.10
复制代码
系统显示类似如下,libcrypto.so.10库文件是libcrypto.so.1.0.1e库文件的软连接。
  1. lrwxrwxrwx. 1 root root 19 Jan 8 12:40 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
复制代码

2、执行如下命令,查看libcrypto.so.1.0.1e库文件的信息。
  1. ll /usr/lib64/libcrypto.so.1.0.1e
复制代码
系统显示类似如下。
  1. -rwxr-xr-x. 1 root root 1965856 Jan 8 03:22 /usr/lib64/libcrypto.so.1.0.1e
复制代码

3、记录正常库文件的路径、权限、属组等信息,然后参阅如下方法尝试处理。

文件查找和替换
可以先参阅如下步骤,在系统内查找是否有其它有效库文件。
1、登录服务器
2、执行如下命令,查找libcrypto.so.1.0.1e库文件。
  1. find / -name libcrypto.so.1.0.1e
复制代码

3、执行如下命令,将找到的文件拷贝到正常目录。
  1. cp [$File] /usr/lib64/libcrypto.so.1.0.1e
复制代码
注:[$File]为上一步找到的libcrypto.so.1.0.1e库文件绝对路径。

4、依次执行如下命令,修改文件权限、所有者和所属组。
  1. chmod 755 /usr/lib64/libcrypto.so.1.0.1e chown root:root /usr/lib64/libcrypto.so.1.0.1e
复制代码

5、执行如下命令,创建软链接。
  1. ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
复制代码

6、执行如下命令,启动SSH服务。
  1. service sshd start
复制代码

外部文件上传
如果参考上述步骤,在系统内没有找到有效的libcrypto.so.1.0.1e库文件。而系统内FTP服务运行正常,则可以通过如下步骤,将正常的libcrypto.so.1.0.1e库文件上传到服务器,然后尝试恢复服务。


1、通过FTP软件将其它正常服务器上的libcrypto.so.1.0.1e库文件上传到目标服务器的/tmp目录。
提示:上传到目标服务器目录以实际环境为准,本文以/tmp目录为例。
2、执行如下命令,将文件拷贝到正常目录。
  1. cp /tmp/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.1.0.1e
复制代码
3、依次执行如下命令,修改文件权限、所有者和所属组。
  1. chmod 755 /usr/lib64/libcrypto.so.1.0.1e chown root:root /usr/lib64/libcrypto.so.1.0.1e
复制代码
4、执行如下命令,创建软链接。
  1. ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
复制代码
5、执行如下命令,启动SSH服务。
  1. service sshd start
复制代码

通过回滚磁盘恢复
如果上述方法均未成功,则只能通过回滚系统盘历史快照的方式来进行修复。
提示:
· 快照回滚会导致回滚之后的数据丢失,请务必确认后再操作。
· 建议按时间从近到远的顺序逐一尝试回滚快照,直至SSH服务能正常运行。如果回滚后还是无法正常运行SSH服务,则说明相应时间点的系统已经出现异常。

感谢您的阅读,服务器大本营助您成为更专业的服务器管理员!

一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2024-7-27 12:46 , Processed in 0.122639 second(s), 25 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表