libcrypto.so.1.0.0: no version information available (required by ssh)

I get the following error:

jalal@klein:~$ ssh -i "hyunwoo_key.pem" [email protected]
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)

I ran these two commands:

sudo apt-get update
sudo apt-get upgrade

When I run the above command I still get the same error. What should I do? Please let me know if extra information is necessary for this bug.

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)

I uninstalled openssl and installed it again, still the same error:

2065  sudo apt-get purge --auto-remove openssl
2066  sudo apt-get install openssl

Also I have the following for openssl version:

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)

Solution 1:

Have you installed a non-Ubuntu version of OpenSSL from somewhere?

The Ubuntu version of OpenSSL has some additional patches installed that are not included if you get your version of OpenSSL from elsewhere. Specifically, symbols exported by the library have version information associated with them in Ubuntu OpenSSL but not standard OpenSSL (at least in versions prior to 1.1.0). You get the "no version information available" warning if you run an Ubuntu supplied application that is expecting the library to have versioned symbols, but the library version you actually pick-up is a non-Ubuntu version that doesn't have those versioned symbols. It will work (usually), but it will complain about it.

The other problem sign is this:

OpenSSL 1.0.2g  1 Mar 2016 (Library: OpenSSL 1.0.1k 8 Jan 2015)

This tells you that the OpenSSL command line app is 1.0.2g, but it is linking against the 1.0.1k library. This is likely to cause crashes - normally the command line app and the library should use matched versions.

The OpenSSL 1.0.2g 1 Mar 2016 bit of the version is what standard Ubuntu OpenSSL will report. The OpenSSL 1.0.1k 8 Jan 2015 bit is coming from some non-Ubuntu version of OpenSSL.

To resolve your problem you need to figure out where the non-Ubuntu OpenSSL is and remove it from your library path.

Try this:

ldd /usr/bin/openssl

For me that reports:

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)

Pay particular attention to the location of libssl and libcrypto. That location should be where your non-Ubuntu library is.

Solution 2:

Try this:

Remove it rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

or rename it, in case you are not sure mv /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0 /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0_bk