暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 watson 2022-12-28
3238

问题描述

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

    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. 登录linux系统。
  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.1e
    chown 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.1e
    chown 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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论