206
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
Linux系统的ECS实例中,启动SSH服务时提示“error while loading shared libraries”错误怎么办?

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   


Linux系统的ECS实例中,启动SSH服务时提示“error while loading shared libraries”错误怎么办?

本文介绍Linux系统的ECS实例,启动SSH服务时提示“error while loading shared libraries”错误时的解决方案。

问题现象

Linux系统的ECS实例启动SSH服务时,提示类似如下的错误信息。

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

执行cat /var/log/secure查看secure日志,出现类似如下的错误信息。

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服务的运行依赖相关系统库文件,当相关库文件异常(如相关库文件丢失或权限配置异常)会导致SSH服务启动异常。

解决方案

您可以通过修复libcrypto.so.10库文件或回滚云盘修复该问题。

方案一:修复libcrypto.so.10库文件

您可以通过查看其他正常实例(A实例)中的库文件信息来对照修复该异常实例(B实例)。

  1. 登录正常实例(A实例),执行如下命令,查看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. 以VNC方式远程连接该异常ECS实例(B实例)。

    具体操作,请参见连接方式概述。

  4. 执行如下命令,查找libcrypto.so.1.0.1e库文件。

    find / -name libcrypto.so.1.0.1e

    根据该ECS实例中是否存在libcrypto.so.1.0.1e库文件,有以下两种解决方案。

    • 存在libcrypto.so.1.0.1e库文件。

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

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

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

    • 不存在libcrypto.so.1.0.1e库文件。

      通过FTP软件将其他正常实例上的libcrypto.so.1.0.1e库文件上传到目标实例的/usr/lib64目录。

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

    chmod 755 /usr/lib64/libcrypto.so.1.0.1e
    chown root:root /usr/lib64/libcrypto.so.1.0.1e
  6. 执行如下命令,创建软链接。

    ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
  7. 执行如下命令,启动SSH服务。

    systemctl start sshd.service

方案二:通过回滚云盘恢复

如果通过方案一:修复libcrypto.so.10库文件未修复,如果您为系统盘创建过快照,则您可以通过回滚系统盘历史快照的方式来进行修复。具体操作,请参见使用快照回滚云盘。

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

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


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!