libcrypto.so.1.0.0: no version information available (required by ssh)
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
Solution 3
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.
Solution 4
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_profile
This should pick up the right versions when using wget
or curl
or even for ssh
.
Related videos on Youtube
Mona Jalal
contact me at [email protected] I am a 5th-year computer science Ph.D. Candidate at Boston University advised by Professor Vijaya Kolachalama in computer vision as the area of study. Currently, I am working on my proposal exam and thesis on the use of efficient computer vision and deep learning for cancer detection in H&E stained digital pathology images.
Updated on September 18, 2022Comments
-
Mona Jalal over 1 year
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)
-
Abdulsattar Mohammed about 7 yearsThanks so much! I had
/usr/local/bin/libssl
and/usr/local/bin/libcrypto
. I just removed them. It works perfectly now. -
Gijs about 7 yearsThis 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)? -
Ben Farmer about 6 yearsI 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.
-
maia almost 6 yearsThis 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.
-
Potherca over 4 yearsI 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 👍