libcrypto.so.1.0.0: no hay información de versión disponible (requerida por ssh)

11

Obtuve el siguiente 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)

Ejecuté estos dos comandos:

sudo apt-get update
sudo apt-get upgrade

Cuando ejecuto el comando anterior, sigo teniendo el mismo error. ¿Qué tengo que hacer? Avíseme si se necesita información adicional para este error.

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)

Desinstalé openssl y lo instalé de nuevo, sigue siendo el mismo error:

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

También tengo lo siguiente para la versión 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
fuente

Respuestas:

11

¿Has instalado una versión de OpenSSL que no sea Ubuntu desde algún lugar?

La versión de Ubuntu de OpenSSL tiene instalados algunos parches adicionales que no se incluyen si obtiene su versión de OpenSSL desde otro lugar. Específicamente, los símbolos exportados por la biblioteca tienen información de versión asociada con ellos en Ubuntu OpenSSL pero no OpenSSL estándar (al menos en versiones anteriores a 1.1.0). Aparece la advertencia de "no hay información de versión disponible" si ejecuta una aplicación suministrada por Ubuntu que espera que la biblioteca tenga símbolos versionados, pero la versión de biblioteca que realmente selecciona es una versión que no es Ubuntu que no tiene esos símbolos versionados . Funcionará (generalmente), pero se quejará al respecto.

El otro signo de problema es este:

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

Esto le indica que la aplicación de línea de comandos OpenSSL es 1.0.2g, pero está vinculada a la biblioteca 1.0.1k. Es probable que esto provoque bloqueos, normalmente la aplicación de línea de comandos y la biblioteca deben usar versiones coincidentes.

El OpenSSL 1.0.2g 1 Mar 2016bit de la versión es lo que informará Ubuntu OpenSSL estándar. El OpenSSL 1.0.1k 8 Jan 2015bit proviene de alguna versión de OpenSSL que no es Ubuntu.

Para resolver su problema, necesita averiguar dónde está el OpenSSL que no es Ubuntu y eliminarlo de la ruta de su biblioteca.

Prueba esto:

ldd /usr/bin/openssl

Para mí eso informa:

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)

Presta especial atención a la ubicación de libssl y libcrypto. Esa ubicación debería ser donde está su biblioteca que no es Ubuntu.

Matt Caswell
fuente
1
¡Muchas gracias! Tuve /usr/local/bin/libssly /usr/local/bin/libcrypto. Acabo de quitarlos. Funciona perfectamente ahora.
Abdulsattar Mohammed
8

Prueba esto:

Eliminarlo rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

o renómbrelo, en caso de que no esté seguro 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
fuente
44
Esto funcionó para mí, lo estoy usando anaconda3, y proporciona muchas de estas bibliotecas compartidas, lo que genera problemas. ¿Puede explicar un poco si y por qué puede eliminarlos? ¿Tiene algún inconveniente posible (se siente un poco como una solución sucia)?
Gijs
2
No sé la respuesta, pero para mí, aunque solucionó mi problema original, también rompió la anaconda (no pudo buscar sus paquetes, etc.). Tuve que recrear el enlace simbólico para solucionarlo.
Ben Farmer
Esta respuesta solucionó el problema original, pero causó otro error relacionado con .git-remote-https.bin: error de búsqueda de símbolo: libssl.so.1.0.0: símbolo indefinido. Por lo tanto, terminé invirtiendo esta acción.
maia
2

ejecuta este comando para verificar la ruta echo $LD_LIBRARY_PATH.

Cuando instala anaconda, se agrega esta ruta /home/<username>/anaconda3/lib. Elimínalo y agrega las rutas de la biblioteca del sistema /usr/local/lib:/usr/lib. Lo más probable es que pueda encontrarlo exportado abriendo vim ~/bashrco vim ~/bash_profileEsto debería recoger las versiones correctas al usar wgeto curlo incluso para ssh.

Koo
fuente
1

Tuve un problema muy similar cuando estaba compilando una versión de OpenSSL 1.0 como requisito previo de un proyecto para compilar una versión anterior de PHP en Ubuntu 18.04 LTS, que parece venir solo con paquetes para OpenSSL 1.1.

Creo que lo que sucedió es que debido a que la antigua versión 1.0 de OpenSSL no estaba disponible como paquete para 18.04 LTS, tuve que descargarla y compilarla antes de poder vincularla para el proceso de compilación de PHP, y creo que OpenSSL 1.0 compila creado /usr/local/lib/libcrypto.so.1.0.0 .

Por alguna razón, el ejecutable principal del servidor SSH incorporado de Ubuntu / usr / sbin / sshd comenzó a vincularse con /usr/local/lib/libcrypto.so.1.0.0 en lugar del sistema predeterminado de / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Sospecho que el binario SSHD del sistema puede haber sido compilado de tal manera que primero busca libcrypto.so.1.0.0 en / usr / local / lib primero y solo mira la ubicación predeterminada del sistema si no se encuentra allí

La solución para mí fue simplemente eliminar o eliminar /usr/local/lib/libcrypto.so.1.0.0 después de completar el proceso de compilación de PHP. Una vez que se completó la compilación de PHP, estos archivos ya no eran necesarios de todos modos. Lo hice y reinicié y todavía pude conectarme a través de SSH, así que supongo que no se hizo ningún daño.

Debería poder probar si esta solución funcionará para usted de la siguiente manera:

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 el primer comando LDD regresa:

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

y el segundo comando LDD regresa:

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

Entonces debería estar bien, porque significa que detectó automáticamente el otro archivo después de deshacerse del primero.

RedScourge
fuente
Tuve la misma situación (compilando la versión de PHP con diferentes versiones de OpenSSL). Conmigo gitreportado /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (re) mover el archivo mencionado por la salida de git solucionó cosas 👍
Potherca
0

Ejecute esto para obtener información de la versión: 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
fuente
0

Sé que hace mucho tiempo que se creó esta pregunta, sin embargo, encontré una solución para este problema en esta página web . La solución funcionó para mí, y puede funcionar también para usted. Ejecuté los siguientes comandos: Para el 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

Para el 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

No sé exactamente cuál es la razón del error, pero supongo que está relacionado con la existencia de múltiples archivos de biblioteca con el mismo nombre, en su caso, se encuentran varios archivos de biblioteca con el nombre libcrypto.so.1.0.0y con el nombre libssl.so.1.0.0.

Matheus Diógenes Andrade
fuente
0

Similar a la respuesta de @ matt-caswell, pero más específica para mi problema de nginx:

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

SOLUCIÓN:

  1. Corro ldd /usr/bin/openssl, luego tengo:

    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. Estos dos archivos son incorrectos para que se ejecute nginx. Entonces quítelos de la siguiente manera:

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. Reiniciar la máquina, ejecutar de ldd /usr/bin/opensslnuevo, tengo:

    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)
    

¡RESUELTO!

Xiaorui Zhu
fuente