常见问题

error while loading shared...

问题描述

本文主要介绍在Linux系统服务器启动SSH服务时,命令行或secure日志文件出现类似如下的错误信息。

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

unerror while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory.

unPAM 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库文件的信息。

ll /usr/lib64/libcrypto.so.10

系统显示类似如下,libcrypto.so.10库文件是libcrypto.so.1.0.1e库文件的软连接。

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库文件的信息。

ll /usr/lib64/libcrypto.so.1.0.1e

系统显示类似如下。

-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库文件。

find / -name libcrypto.so.1.0.1e

3、执行如下命令,将找到的文件拷贝到正常目录。

cp [$File] /usr/lib64/libcrypto.so.1.0.1e

注:[$File]为上一步找到的libcrypto.so.1.0.1e库文件绝对路径。

4、 依次执行如下命令,修改文件权限、所有者和所属组。

chmod 755 /usr/lib64/libcrypto.so.1.0.1echown root:root /usr/lib64/libcrypto.so.1.0.1e

5、 执行如下命令,创建软链接。

ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10

6、 执行如下命令,启动SSH服务。

service sshd start

外部文件上传

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

1、 通过FTP软件将其它正常服务器上的libcrypto.so.1.0.1e库文件上传到目标服务器的/tmp目录。

提示:上传到目标服务器目录以实际环境为准,本文以/tmp目录为例。

2、执行如下命令,将文件拷贝到正常目录。

cp /tmp/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.1.0.1e

3、 依次执行如下命令,修改文件权限、所有者和所属组。

chmod 755 /usr/lib64/libcrypto.so.1.0.1echown root:root /usr/lib64/libcrypto.so.1.0.1e

4、 执行如下命令,创建软链接。

ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10

5、 执行如下命令,启动SSH服务。

service sshd start

通过回滚磁盘恢复

如果上述方法均未成功,则只能通过回滚系统盘历史快照的方式来进行修复。

提示:

u快照回滚会导致回滚之后的数据丢失,请务必确认后再操作。

u建议按时间从近到远的顺序逐一尝试回滚快照,直至SSH服务能正常运行。如果回滚后还是无法正常运行SSH服务,则说明相应时间点的系统已经出现异常。

驰网作为国内领先的互联网业务平台服务提供商,专注为用户提供低价高性能云计算产品。拥有丰富的国内BGP高防、稳定双线、香港CN2等优质的IDC资源,无论身在何处,均能获

得灵活流畅的体验。

帮助中心