阅读882 返回首页    go 阿里云 go 技术社区[云栖]


SSH 服务启动时出现如下错误:error while loading shared libraries__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云

,注意:,本文相关配置及说明已在, CentOS 6.5 64 ,位操作系统中进行过测试。其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档。

 

,问题描述


,云服务器 ,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 ,服务,则说明相应时间点系统已经出现异常。

 

,如果还有问题,可以参阅,云服务器 ECS Linux SSH 无法登录问题排查指引做进一步排查分析。

 

,如果问题还未能解决,请联系,,,售后技术支持,。

最后更新:2016-07-12 15:24:19

  上一篇:go SSH 登录时出现如下错误:Too many authentication failures for root__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云
  下一篇:go SSH 服务启动时出现如下错误:fatal: Cannot bind any address__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云