libcrypto.so.1.0.0: недоступна інформація про версію (потрібна ssh)


11

Я отримую таку помилку:

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)

Я виконував ці дві команди:

sudo apt-get update
sudo apt-get upgrade

Коли я запускаю вищезгадану команду, я все одно отримую ту ж помилку. Що я повинен зробити? Будь ласка, повідомте мені, чи потрібна додаткова інформація для цієї помилки.

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)

Я видалив openssl і встановив його знову, все одно та сама помилка:

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

Також у мене є наступна версія для 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)

Відповіді:


11

Ви десь встановили не-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)

Це говорить вам про те, що додаток OpenSSL командного рядка 1,0,2 г, але він посилається на бібліотеку 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

Для мене, що звітує:

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)

Зверніть особливу увагу на розташування libssl та libcrypto. Це місце повинно бути там, де знаходиться ваша бібліотека, що не належить до Ubuntu.


1
Дуже дякую! Я мав /usr/local/bin/libsslі /usr/local/bin/libcrypto. Я просто їх зняв. Він прекрасно працює зараз.
Абдулсаттар Мухаммед

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


4
Це працювало для мене, я використовую anaconda3, і це дає багато цих спільних бібліотек, що призводить до проблем. Чи можете ви пояснити, можливо, трохи, і чому ви можете просто видалити їх? Чи є якісь можливі мінуси (трохи схоже на брудне рішення)?
Gijs

2
Я не знаю відповіді, але для мене, хоча вона вирішила мою первісну проблему, вона також зламала анаконда (вона не змогла шукати свої пакунки тощо). Мені довелося відтворити симпосилання, щоб виправити це.
Бен Фармер

Ця відповідь виправила початкову проблему, але спричинила ще одну помилку, пов’язану з .git-remote-https.bin: помилка пошуку символу: libssl.so.1.0.0: не визначений символ. Таким чином, я закінчив цю дію.
maia

2

запустіть цю команду, щоб перевірити шлях echo $LD_LIBRARY_PATH.

При встановленні анаконди цей шлях додається /home/<username>/anaconda3/lib. Видаліть його і додайте до системної бібліотеки контури /usr/local/lib:/usr/lib. Швидше за все , ви можете знайти його на експорт при відкритті vim ~/bashrcабо vim ~/bash_profileце має підібрати правильні варіанти при використанні wgetабо curlнавіть для ssh.


2

У мене була дуже схожа проблема, коли я збирав версію OpenSSL 1.0 як необхідну умову проекту зібрати стару версію PHP на Ubuntu 18.04 LTS, яка, як видається, постачається лише з пакетами для OpenSSL 1.1.

Я вважаю, що сталося так, що оскільки стара версія версії OpenSSL 1.0 не була доступна як пакет для 18.04 LTS, мені довелося самостійно завантажувати та компілювати її, перш ніж я міг зв’язатись із нею для процесу компіляції PHP, і я вважаю, що OpenSSL 1.0 створена компіляція /usr/local/lib/libcrypto.so.1.0.0 .

Чомусь головний виконуваний сервер Ubuntu вбудованого SSH / usr / sbin / sshd почав пов'язувати проти /usr/local/lib/libcrypto.so.1.0.0 замість системного замовчування / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Я підозрюю, що системний бінарний SSHD, можливо, був скомпільований таким чином, що він спочатку шукає libcrypto.so.1.0.0 в / usr / local / lib і лише дивиться на розташування системи за замовчуванням, якщо його не знайдено

Для мене рішення було просто видалити або видалити /usr/local/lib/libcrypto.so.1.0.0 після завершення процесу компіляції PHP. Після завершення компіляції PHP ці файли більше не потрібні. Я зробив це, перезавантажив і все ще зміг підключитися через SSH, тому я припускаю, що шкоди не було зроблено.

Ви повинні мати можливість перевірити, чи допоможе це рішення для вас наступним чином:

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

Якщо перша команда LDD повертається:

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

і друга команда LDD повертається:

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

Тоді вам слід добре, бо це означає, що він автоматично виявив інший файл після того, як ви позбулися першого.


У мене була така ж ситуація (компілювання PHP-версії з різними версіями OpenSSL). Зі мною gitповідомили /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (пере) переміщення файлу, згаданого виведенням git виправлених речей 👍
Potherca

0

Запустіть це, щоб отримати інформацію про версію - 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

Я знаю, що давно було створено це питання, однак я знайшов рішення цієї проблеми на цій веб-сторінці . Рішення працювало для мене, і може працювати і для вас. Я виконав такі команди: Для 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

Для 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

Я точно не знаю, що є причиною помилки, але я здогадуюсь, що це пов’язано з існуванням декількох бібліотечних файлів з тим самим іменем, у вашому випадку знайдено кілька бібліотечних файлів з назвою libcrypto.so.1.0.0та з ім'ям libssl.so.1.0.0.


0

Схожий на відповідь від @ matt-caswell, але більш конкретний для мого питання про nginx:

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

РІШЕННЯ:

  1. Я біжу ldd /usr/bin/openssl, а потім:

    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. Ці два файли неправильно для запуску nginx. Тому видаліть їх наступним чином:

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. Перезавантажте машину, запустіть ldd /usr/bin/opensslзнову, отримано:

    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)
    

РЕШЕНО!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.