SSH 服务启动时出现如下错误:error while loading shared libraries

赞赏 2016-07-12

云服务器 ECS (Elastic Compute Server) 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 库文件异常为例进行说明。

首先,到一台正常服务器上查看相应库文件的配置情况。比如,libcrypto.so.10 库文件的正常配置如下:

[root@centos ~]# ll /usr/lib64/libcrypto.so.10
lrwxrwxrwx. 1 root root 19 Jan  8 12:40 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.1e
[root@centos ~]# 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

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

文件查找和替换

可以先参阅如下步骤,在系统内查找是否有其它有效库文件:

  1. 通过 管理终端 进入系统。
  2. 通过如下指令查找 libcrypto.so.1.0.1e 库文件:
    find / -name libcrypto.so.1.0.1e
  3. 将找到的文件拷贝到正常目录:
    cp <找到的文件目录> /usr/lib64/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 服务运行正常,则可以通过如下步骤,将外部正常文件上传到服务器内后尝试恢复服务:

  1. 通过 FTP 软件将其它正常服务器上的 libcrypto.so.1.0.1e 文件上传到服务器。
  2. 假设上传目录为 /tmp,则通过如下指令,将文件拷贝到正常目录:
    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

通过回滚磁盘恢复

如果前述方法均未成功,则只能通过回滚系统盘历史快照的方式来进行修复。回滚磁盘的操作说明可以参阅文档 回滚磁盘

注意:

  • 快照回滚会导致回滚点之后的数据丢失,请务必确认后再操作。
  • 建议按时间从近到远的顺序逐一尝试回滚快照,直至 SSH 服务能正常运行。如果回滚后还是无法正常运行 SSH 服务,则说明相应时间点系统已经出现异常。
登陆后阅读全文
阅读 1530 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章