libcrypto.so.1.0.0:没有可用的版本信息(ssh 需要)

Mon*_*lal 12 ssh openssh openssl 16.04

我收到以下错误:

jalal@klein:~$ ssh -i "hyunwoo_key.pem" ubuntu@ec2-52-23-201-2.compute-1.amazonaws.com
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
OpenSSL version mismatch. Built against 1000207f, you have 100010bf

jalal@klein:~$ openssl version
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
WARNING: can't open config file: /_This_is_not_a_valid_path_/_setenv_OPENSSL_CONF_instead_/openssl.cnf
OpenSSL 1.0.2g  1 Mar 2016 (Library: OpenSSL 1.0.1k 8 Jan 2015)
Run Code Online (Sandbox Code Playgroud)

我运行了这两个命令:

sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

当我运行上面的命令时,我仍然得到同样的错误。我该怎么办?如果此错误需要额外信息,请告诉我。

jalal@klein:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

jalal@klein:~$ uname -a
Linux klein 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

jalal@klein:~$ ssh -V
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by ssh)
OpenSSH_7.2p2 Ubuntu-4ubuntu2.1, OpenSSL 1.0.1k 8 Jan 2015

jalal@klein:~$ locate libcrypto.so.1.0.0
/home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0
/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
/usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0
/usr/local/MATLAB/R2016a/bin/glnxa64/libcrypto.so.1.0.0
/usr/local/MATLAB/R2016a/toolbox/compiler_sdk/mps_clients/c/glnxa64/lib/libcrypto.so.1.0.0

jalal@klein:~$ ldd /usr/bin/ssh
/usr/bin/ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
/usr/bin/ssh: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)
    linux-vdso.so.1 =>  (0x00007ffc0a3cb000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f070fcaf000)
    libcrypto.so.1.0.0 => /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0 (0x00007f070f8cb000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f070f6c7000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f070f4ad000)
    libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f070f291000)
    libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f070f047000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f070ec7e000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f070ea0d000)
    /lib64/ld-linux-x86-64.so.2 (0x0000556886875000)
    libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f070e73b000)
    libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f070e50c000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f070e307000)
    libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f070e0fc000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f070dedf000)
    libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f070dcda000)
Run Code Online (Sandbox Code Playgroud)

我卸载了openssl并重新安装了它,仍然是同样的错误:

2065  sudo apt-get purge --auto-remove openssl
2066  sudo apt-get install openssl
Run Code Online (Sandbox Code Playgroud)

我还有以下 openssl 版本:

jalal@klein:~$ openssl version
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /home/jalal/computer_vision/MCR/v901/bin/glnxa64/libcrypto.so.1.0.0: no version information available (required by openssl)
WARNING: can't open config file: /_This_is_not_a_valid_path_/_setenv_OPENSSL_CONF_instead_/openssl.cnf
OpenSSL 1.0.2g  1 Mar 2016 (Library: OpenSSL 1.0.1k 8 Jan 2015)
Run Code Online (Sandbox Code Playgroud)

Mat*_*ell 14

您是否从某个地方安装了非 Ubuntu 版本的 OpenSSL?

Ubuntu 版本的 OpenSSL 安装了一些额外的补丁,如果您从其他地方获得 OpenSSL 版本,则不会包含这些补丁。具体来说,库导出的符号在 Ubuntu OpenSSL 中具有与其关联的版本信息,但在标准 OpenSSL 中没有(至少在 1.1.0 之前的版本中)。如果您运行期望库具有版本化符号的 Ubuntu 提供的应用程序,您会收到“没有可用的版本信息”警告,但您实际选择的库版本是没有这些版本化符号的非 Ubuntu 版本. 它会工作(通常),但它会抱怨它。

另一个问题标志是这样的:

OpenSSL 1.0.2g  1 Mar 2016 (Library: OpenSSL 1.0.1k 8 Jan 2015)
Run Code Online (Sandbox Code Playgroud)

这告诉您 OpenSSL 命令行应用程序是 1.0.2g,但它链接到 1.0.1k 库。这可能会导致崩溃 - 通常命令行应用程序和库应该使用匹配的版本。

OpenSSL 1.0.2g 1 Mar 2016版本的位是标准 Ubuntu OpenSSL 将报告的内容。该OpenSSL 1.0.1k 8 Jan 2015位来自某些非 Ubuntu 版本的 OpenSSL。

要解决您的问题,您需要找出非 Ubuntu OpenSSL 的位置并将其从库路径中删除。

尝试这个:

ldd /usr/bin/openssl
Run Code Online (Sandbox Code Playgroud)

对我来说,报告:

linux-vdso.so.1 =>  (0x00007fff911a1000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fbf2c6e1000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fbf2c29d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbf2bed3000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbf2bccf000)
/lib64/ld-linux-x86-64.so.2 (0x0000555f5c585000)
Run Code Online (Sandbox Code Playgroud)

特别注意 libssl 和 libcrypto 的位置。该位置应该是您的非 Ubuntu 库所在的位置。


小智 8

尝试这个:

去掉它 rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

或重命名,以防您不确定 mv /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0 /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0_bk

  • 这对我有用,我使用的是 `anaconda3`,它提供了很多这些共享库,这会导致问题。您能否解释一下是否以及为什么可以删除这些内容?它是否有任何可能的缺点(感觉有点像一个肮脏的解决方案)? (4认同)
  • 我不知道答案,但对我来说,虽然它解决了我最初的问题,但它也破坏了 anaconda(它变得无法搜索它的包等)。我不得不重新创建符号链接来修复它。 (2认同)