libcrypto.so.1.0.0: Keine Versionsinformationen verfügbar (von ssh erforderlich)

11

Ich erhalte folgenden Fehler:

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)

Ich habe diese beiden Befehle ausgeführt:

sudo apt-get update
sudo apt-get upgrade

Wenn ich den obigen Befehl ausführe, wird immer noch der gleiche Fehler angezeigt. Was soll ich machen? Bitte lassen Sie mich wissen, ob zusätzliche Informationen für diesen Fehler erforderlich sind.

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)

Ich habe openssl deinstalliert und erneut installiert, immer noch der gleiche Fehler:

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

Außerdem habe ich folgendes für die 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)
Mona Jalal
quelle

Antworten:

11

Haben Sie irgendwo eine Nicht-Ubuntu-Version von OpenSSL installiert?

In der Ubuntu-Version von OpenSSL sind einige zusätzliche Patches installiert, die nicht enthalten sind, wenn Sie Ihre OpenSSL-Version von einer anderen Stelle beziehen. Insbesondere Symbole, die von der Bibliothek exportiert werden, sind mit Versionsinformationen in Ubuntu OpenSSL verknüpft, jedoch nicht mit Standard-OpenSSL (zumindest in Versionen vor 1.1.0). Sie erhalten die Warnung "Keine Versionsinformationen verfügbar", wenn Sie eine von Ubuntu bereitgestellte Anwendung ausführen, die erwartet, dass die Bibliothek versionierte Symbole enthält. Die Bibliotheksversion, die Sie tatsächlich abrufen, ist jedoch eine Nicht-Ubuntu-Version, die diese versionierten Symbole nicht enthält . Es wird (normalerweise) funktionieren, aber es wird sich darüber beschweren.

Das andere Problemzeichen ist folgendes:

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

Dies zeigt Ihnen, dass die OpenSSL-Befehlszeilen-App 1.0.2g ist, aber mit der 1.0.1k-Bibliothek verknüpft ist. Dies kann zu Abstürzen führen. Normalerweise sollten die Befehlszeilen-App und die Bibliothek übereinstimmende Versionen verwenden.

Das OpenSSL 1.0.2g 1 Mar 2016Bit der Version ist das, was Standard-Ubuntu OpenSSL meldet. Das OpenSSL 1.0.1k 8 Jan 2015Bit stammt von einer Nicht-Ubuntu-Version von OpenSSL.

Um Ihr Problem zu lösen, müssen Sie herausfinden, wo sich OpenSSL ohne Ubuntu befindet, und es aus Ihrem Bibliothekspfad entfernen.

Versuche dies:

ldd /usr/bin/openssl

Für mich berichtet das:

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)

Achten Sie besonders auf den Speicherort von libssl und libcrypto. Dieser Ort sollte sich dort befinden, wo sich Ihre Nicht-Ubuntu-Bibliothek befindet.

Matt Caswell
quelle
1
Vielen Dank! Ich hatte /usr/local/bin/libsslund /usr/local/bin/libcrypto. Ich habe sie gerade entfernt. Es funktioniert jetzt perfekt.
Abdulsattar Mohammed
8

Versuche dies:

Entfernen Sie es rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

oder benennen Sie es um, falls Sie sich nicht sicher sind mv /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0 /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0_bk

Pankaj Joshi
quelle
4
Dies hat bei mir funktioniert, ich verwende es anaconda3, und es bietet viele dieser gemeinsam genutzten Bibliotheken, was zu Problemen führt. Können Sie vielleicht ein bisschen erklären, ob und warum Sie diese einfach löschen können? Hat es irgendwelche möglichen Nachteile (fühlt sich ein bisschen wie eine schmutzige Lösung an)?
Gijs
2
Ich kenne die Antwort nicht, aber für mich hat es zwar mein ursprüngliches Problem behoben, aber auch die Anakonda gebrochen (es wurde nicht mehr in der Lage, nach seinen Paketen usw. zu suchen). Ich musste den Symlink neu erstellen, um ihn zu beheben.
Ben Farmer
Diese Antwort hat das ursprüngliche Problem behoben, aber einen weiteren Fehler mit .git-remote-https.bin verursacht: Symbol-Suchfehler: libssl.so.1.0.0: undefiniertes Symbol. Daher habe ich diese Aktion umgekehrt.
Maia
2

Führen Sie diesen Befehl aus, um den Pfad zu überprüfen echo $LD_LIBRARY_PATH.

Wenn Sie anaconda installieren, wird dieser Pfad angehängt /home/<username>/anaconda3/lib. Entfernen Sie es und hängen Sie die Systembibliothekspfade an /usr/local/lib:/usr/lib. Höchstwahrscheinlich können Sie es exportiert finden, indem Sie es öffnen vim ~/bashrcoder vim ~/bash_profileDies sollte die richtigen Versionen bei der Verwendung wgetoder curloder sogar für auswählen ssh.

Koo
quelle
1

Ich hatte ein sehr ähnliches Problem, als ich eine Version von OpenSSL 1.0 als Voraussetzung für ein Projekt zum Kompilieren einer alten Version von PHP unter Ubuntu 18.04 LTS kompilierte, die anscheinend nur Pakete für OpenSSL 1.1 enthält.

Ich glaube, was passiert ist, ist, dass ich, da die alte 1.0-Version von OpenSSL nicht als Paket für 18.04 LTS verfügbar war, sie selbst herunterladen und kompilieren musste, bevor ich sie für den PHP-Kompilierungsprozess verknüpfen konnte, und ich glaube, dass OpenSSL 1.0 Kompilieren Sie erstellt /usr/local/lib/libcrypto.so.1.0.0 .

Aus irgendeinem Grund begann die in Ubuntu integrierte ausführbare SSH-Server-Hauptdatei / usr / sbin / sshd mit der Verknüpfung mit /usr/local/lib/libcrypto.so.1.0.0 anstelle der Systemvorgabe von / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Ich vermute, dass die System-SSHD-Binärdatei möglicherweise so kompiliert wurde, dass sie zuerst in der Datei / usr / local / lib nach libcrypto.so.1.0.0 sucht und nur dann nach dem Standardspeicherort des Systems sucht, wenn sie dort nicht gefunden wird

Die Lösung für mich bestand darin, /usr/local/lib/libcrypto.so.1.0.0 nach Abschluss des PHP-Kompilierungsprozesses einfach zu löschen oder zu entfernen . Nach Abschluss der PHP-Kompilierung wurden diese Dateien ohnehin nicht mehr benötigt. Ich habe dies getan und neu gestartet und konnte immer noch eine Verbindung über SSH herstellen, sodass ich davon ausgehe, dass kein Schaden angerichtet wurde.

Sie sollten in der Lage sein zu testen, ob diese Lösung für Sie wie folgt funktioniert:

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

Wenn der erste LDD-Befehl zurückgibt:

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

und der zweite LDD-Befehl gibt zurück:

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

Dann sollte es Ihnen gut gehen, da dies bedeutet, dass die andere Datei automatisch erkannt wird, nachdem Sie die erste entfernt haben.

RedScourge
quelle
Ich hatte die gleiche Situation (Kompilieren der PHP-Version mit verschiedenen OpenSSL-Versionen). Mit mir gitberichtet /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (erneutes) Verschieben der von der Git-Ausgabe erwähnten Datei behoben things
Potherca
0

Führen Sie dies aus, um Versionsinformationen zu erhalten - 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
Yarick
quelle
0

Ich weiß, dass diese Frage schon lange erstellt wurde. Auf dieser Webseite habe ich jedoch eine Lösung für dieses Problem gefunden . Die Lösung hat bei mir funktioniert und funktioniert möglicherweise auch bei Ihnen. Ich habe die folgenden Befehle ausgeführt: Für die 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

Für die 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

Ich weiß nicht genau, was der Grund für den Fehler ist, aber ich denke, dass er mit der Existenz mehrerer Bibliotheksdateien mit demselben Namen zusammenhängt. In Ihrem Fall werden mehrere Bibliotheksdateien mit dem Namen libcrypto.so.1.0.0und dem Namen libssl.so.1.0.0gefunden.

Matheus Diógenes Andrade
quelle