14

I get the following error:

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)

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)

7 Answers 7

15

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.

1
  • 1
    Thanks so much! I had /usr/local/bin/libssl and /usr/local/bin/libcrypto. I just removed them. It works perfectly now. Jan 26, 2017 at 6:48
9

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

3
  • 4
    This worked for me, I am using anaconda3, and it provides a lot of these shared libraries, which leads to problems. Can you explain maybe a bit if and why you can just delete these? Does it have any possible downsides (feels a bit like a dirty solution)?
    – Gijs
    Mar 18, 2017 at 10:11
  • 2
    I don't know the answer, but for me, while it fixed my original problem, it also broke anaconda (it became unable to search for its packages etc). I had to recreate the symlink to fix it.
    – Ben Farmer
    Mar 21, 2018 at 13:51
  • This answer fixed the original problem, but caused another error involving .git-remote-https.bin: symbol lookup error: libssl.so.1.0.0: undefined symbol. Thus, I ended up reversing this action.
    – maia
    Jun 29, 2018 at 20:13
2

run this command to check the path echo $LD_LIBRARY_PATH.

When you install anaconda this path get appended with /home/<username>/anaconda3/lib. Remove it and append the system library paths /usr/local/lib:/usr/lib. Most likely you can find it exported by opening vim ~/bashrc or vim ~/bash_profileThis should pick up the right versions when using wget or curl or even for ssh.

2

I had a very similar issue when I was compiling a version of OpenSSL 1.0 as a prerequisite of a project to compile an old version of PHP on Ubuntu 18.04 LTS, which appears to only come with packages for OpenSSL 1.1.

I believe what happened is that because the old 1.0 version of OpenSSL was not available as a package for 18.04 LTS, I had to download and compile it myself before I could link against it for the PHP compilation process, and I believe that the OpenSSL 1.0 compile created /usr/local/lib/libcrypto.so.1.0.0.

For some reason, the Ubuntu built-in SSH server main executable /usr/sbin/sshd started linking against /usr/local/lib/libcrypto.so.1.0.0 instead of the system default of /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0. I suspect that the system SSHD binary may have been compiled in such a way that it first looks for libcrypto.so.1.0.0 in the /usr/local/lib first and only looks at the system default location if not found there

The solution for me was to simply delete or remove /usr/local/lib/libcrypto.so.1.0.0 after the PHP compile process was complete. After the PHP compile was complete, these files were no longer needed anyway. I did so and rebooted and was still able to connect via SSH so I assume no harm done.

You should be able to test if this solution will work for you as follows:

ldd /usr/sbin/sshd | grep libcrypto
mkdir ~/usrlocallib
mv /usr/local/lib/libcrypto.so.1.0.0 ~/usrlocallib
ldd /usr/sbin/sshd | grep libcrypto

If the first LDD command returns:

 libcrypto.so.1.0.0 => /usr/local/lib/libcrypto.so.1.0.0 (0x00007fdc9529d000)

and the second LDD command returns:

 libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007eff801b4000)

Then you should be fine, because it means it automatically detected the other file after you got rid of the first.

1
  • I had the same situation (compiling PHP version with different OpenSSL versions). With me git reported /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (re)moving the file mentioned by the git output fixed things 👍
    – Potherca
    Sep 4, 2019 at 14:41
1

Similar to answer from @matt-caswell, but more specific to my issue of nginx:

/usr/local/openssl/lib/libcrypto.so.1.0.0: no version information available (required by /usr/sbin/nginx)

SOLUTION:

  1. I run ldd /usr/bin/openssl, then got:

    libssl.so.1.0.0 => /usr/local/openssl/lib/libssl.so.1.0.0 (0x00007f1eb7e91000)
    libcrypto.so.1.0.0 => /usr/local/openssl/lib/libcrypto.so.1.0.0 (0x00007f1eb7a36000)
    
  2. These two files are wrong for nginx to run. So remove them as follows:

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. Reboot machine, run ldd /usr/bin/openssl again, got:

    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f40f5ee4000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f40f5a9f000)
    

SOLVED!

0

Run this to get version information - strings libssl.so.1.0.0 | grep "1\.0"

SSLv3 part of OpenSSL 1.0.2p-fips  14 Aug 2018
OpenSSL 1.0.2p-fips  14 Aug 2018
TLSv1 part of OpenSSL 1.0.2p-fips  14 Aug 2018
DTLSv1 part of OpenSSL 1.0.2p-fips  14 Aug 2018
0

I know that there is a long time that this question has been created, however, I found a solution for this problem in this web page. The solution worked for me, and may works for you as well. I executed the following commands: For the libssl.so.1.0.0:

  • sudo rm /usr/local/ssl/lib/libssl.so.1.0.0
  • sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 usr/local/ssl/lib/libssl.so.1.0.0

For the libcrypto.so.1.0.0:

  • sudo rm /usr/local/ssl/lib/libcrypto.so.1.0.0
  • sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/local/ssl/lib/libcrypto.so.1.0.0

I do not know exactly what is the reason for the error, but I guess that it is related to the existence of multiple library files with the same name, in your case, multiple library files with the name libcrypto.so.1.0.0 and with the name libssl.so.1.0.0 are found.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.