libcrypto.so.1.0.0: aucune information de version disponible (requis par ssh)

11

J'obtiens l'erreur suivante:

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)

J'ai exécuté ces deux commandes:

sudo apt-get update
sudo apt-get upgrade

Lorsque j'exécute la commande ci-dessus, j'obtiens toujours la même erreur. Que devrais-je faire? Veuillez me faire savoir si des informations supplémentaires sont nécessaires pour ce bogue.

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)

J'ai désinstallé openssl et l'ai réinstallé, toujours la même erreur:

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

J'ai également ce qui suit pour la version 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)
Mona Jalal
la source

Réponses:

11

Avez-vous installé une version non Ubuntu d'OpenSSL quelque part?

La version Ubuntu d'OpenSSL a quelques correctifs supplémentaires installés qui ne sont pas inclus si vous obtenez votre version d'OpenSSL ailleurs. Plus précisément, les symboles exportés par la bibliothèque ont des informations de version qui leur sont associées dans Ubuntu OpenSSL mais pas OpenSSL standard (au moins dans les versions antérieures à 1.1.0). Vous obtenez l'avertissement «aucune information de version disponible» si vous exécutez une application fournie par Ubuntu qui s'attend à ce que la bibliothèque ait des symboles versionnés, mais la version de bibliothèque que vous choisissez réellement est une version non Ubuntu qui n'a pas ces symboles versionnés . Cela fonctionnera (généralement), mais il s'en plaindra.

L'autre signe de problème est le suivant:

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

Cela vous indique que l'application de ligne de commande OpenSSL est 1.0.2g, mais qu'elle est liée à la bibliothèque 1.0.1k. Cela est susceptible de provoquer des plantages - normalement, l'application de ligne de commande et la bibliothèque doivent utiliser des versions correspondantes.

Le OpenSSL 1.0.2g 1 Mar 2016morceau de la version est ce que rapportera Ubuntu OpenSSL standard. Le OpenSSL 1.0.1k 8 Jan 2015bit vient d'une version non Ubuntu d'OpenSSL.

Pour résoudre votre problème, vous devez déterminer où se trouve OpenSSL non Ubuntu et le supprimer de votre chemin de bibliothèque.

Essaye ça:

ldd /usr/bin/openssl

Pour moi, cela rapporte:

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)

Portez une attention particulière à l'emplacement de libssl et libcrypto. Cet emplacement devrait être l'endroit où se trouve votre bibliothèque non Ubuntu.

Matt Caswell
la source
1
Merci beaucoup! J'avais /usr/local/bin/libsslet /usr/local/bin/libcrypto. Je viens de les retirer. Cela fonctionne parfaitement maintenant.
Abdulsattar Mohammed
8

Essaye ça:

Retirez-le rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

ou renommez-le, au cas où vous n'êtes pas sûr 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
la source
4
Cela a fonctionné pour moi, j'utilise anaconda3, et il fournit beaucoup de ces bibliothèques partagées, ce qui entraîne des problèmes. Pouvez-vous expliquer un peu si et pourquoi vous pouvez simplement les supprimer? At-il des inconvénients possibles (ressemble un peu à une solution sale)?
Gijs
2
Je ne connais pas la réponse, mais pour moi, alors qu'il a résolu mon problème d'origine, il a également cassé anaconda (il est devenu incapable de rechercher ses packages, etc.). J'ai dû recréer le lien symbolique pour le corriger.
Ben Farmer
Cette réponse a résolu le problème d'origine, mais a provoqué une autre erreur impliquant .git-remote-https.bin: erreur de recherche de symbole: libssl.so.1.0.0: symbole non défini. J'ai donc fini par inverser cette action.
maia
2

exécutez cette commande pour vérifier le chemin echo $LD_LIBRARY_PATH.

Lorsque vous installez anaconda, ce chemin est ajouté avec /home/<username>/anaconda3/lib. Supprimez-le et ajoutez les chemins d'accès à la bibliothèque système /usr/local/lib:/usr/lib. Très probablement, vous pouvez le trouver exporté en ouvrant vim ~/bashrcou vim ~/bash_profileCela devrait ramasser les bonnes versions lors de l'utilisation wgetou curlou même pour ssh.

Koo
la source
1

J'ai eu un problème très similaire lorsque je compilais une version d'OpenSSL 1.0 comme prérequis d'un projet pour compiler une ancienne version de PHP sur Ubuntu 18.04 LTS, qui semble ne venir qu'avec des packages pour OpenSSL 1.1.

Je crois que ce qui s'est passé est que parce que l'ancienne version 1.0 d'OpenSSL n'était pas disponible en tant que package pour 18.04 LTS, j'ai dû le télécharger et le compiler moi-même avant de pouvoir le lier pour le processus de compilation PHP, et je crois que l'OpenSSL 1.0 compiler créé /usr/local/lib/libcrypto.so.1.0.0 .

Pour une raison quelconque, le fichier exécutable principal du serveur SSH intégré à Ubuntu / usr / sbin / sshd a commencé à se lier à /usr/local/lib/libcrypto.so.1.0.0 au lieu de la valeur par défaut du système / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Je soupçonne que le binaire SSHD du système peut avoir été compilé de telle manière qu'il cherche d'abord libcrypto.so.1.0.0 dans le répertoire / usr / local / lib et ne regarde que l'emplacement par défaut du système s'il n'y est pas trouvé

La solution pour moi était de simplement supprimer ou supprimer /usr/local/lib/libcrypto.so.1.0.0 une fois le processus de compilation PHP terminé. Une fois la compilation PHP terminée, ces fichiers n'étaient plus nécessaires de toute façon. Je l'ai fait et redémarré et j'ai toujours pu me connecter via SSH, donc je suppose qu'aucun mal n'est fait.

Vous devriez pouvoir tester si cette solution fonctionnera pour vous comme suit:

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

Si la première commande LDD renvoie:

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

et la deuxième commande LDD renvoie:

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

Ensuite, vous devriez aller bien, car cela signifie qu'il a automatiquement détecté l'autre fichier après vous être débarrassé du premier.

RedScourge
la source
J'ai eu la même situation (compilation de la version PHP avec différentes versions d'OpenSSL). Avec moi gitrapporté /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (re) déplacer le fichier mentionné par la sortie git a corrigé les choses 👍
Potherca
0

Exécutez ceci pour obtenir des informations sur la version - 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
la source
0

Je sais qu'il y a longtemps que cette question a été créée, cependant, j'ai trouvé une solution à ce problème dans cette page Web . La solution a fonctionné pour moi, et peut également fonctionner pour vous. J'ai exécuté les commandes suivantes: Pour le 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

Pour 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

Je ne sais pas exactement quelle est la raison de l'erreur, mais je suppose qu'elle est liée à l'existence de plusieurs fichiers de bibliothèque portant le même nom, dans votre cas, plusieurs fichiers de bibliothèque portant le nom libcrypto.so.1.0.0et le nom libssl.so.1.0.0sont trouvés.

Matheus Diógenes Andrade
la source
0

Similaire à la réponse de @ matt-caswell, mais plus spécifique à mon problème de nginx:

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

SOLUTION:

  1. Je cours ldd /usr/bin/openssl, puis j'ai:

    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. Ces deux fichiers sont incorrects pour que nginx s'exécute. Retirez-les donc comme suit:

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. Redémarrez la machine, exécutez à ldd /usr/bin/opensslnouveau, obtenez:

    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)
    

RESOLU!

Xiaorui Zhu
la source