libcrypto.so.1.0.0: tidak ada informasi versi tersedia (diperlukan oleh ssh)

11

Saya mendapatkan kesalahan berikut:

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)

Saya menjalankan dua perintah ini:

sudo apt-get update
sudo apt-get upgrade

Ketika saya menjalankan perintah di atas saya masih mendapatkan kesalahan yang sama. Apa yang harus saya lakukan? Harap beri tahu saya jika diperlukan informasi tambahan untuk bug ini.

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)

Saya uninstall openssl dan menginstalnya lagi, masih kesalahan yang sama:

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

Saya juga memiliki yang berikut untuk versi 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
sumber

Jawaban:

11

Sudahkah Anda menginstal OpenSSL versi non-Ubuntu dari suatu tempat?

OpenSSL versi Ubuntu memiliki beberapa tambalan tambahan yang diinstal yang tidak disertakan jika Anda mendapatkan versi OpenSSL dari tempat lain. Secara khusus, simbol yang diekspor oleh perpustakaan memiliki informasi versi yang terkait dengannya di Ubuntu OpenSSL tetapi bukan OpenSSL standar (setidaknya dalam versi sebelum 1.1.0). Anda mendapatkan peringatan "tidak ada informasi versi" jika Anda menjalankan aplikasi yang disediakan Ubuntu yang mengharapkan perpustakaan memiliki simbol versi, tetapi versi perpustakaan yang Anda ambil sebenarnya adalah versi non-Ubuntu yang tidak memiliki simbol-simbol yang diversi tersebut . Ini akan bekerja (biasanya), tetapi akan mengeluh tentang hal itu.

Tanda masalah lainnya adalah ini:

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

Ini memberi tahu Anda bahwa aplikasi baris perintah OpenSSL adalah 1.0.2g, tetapi terhubung dengan pustaka 1.0.1k. Ini kemungkinan menyebabkan crash - biasanya aplikasi baris perintah dan perpustakaan harus menggunakan versi yang cocok.

The OpenSSL 1.0.2g 1 Mar 2016bit versi adalah apa yang akan melaporkan standar Ubuntu OpenSSL. The OpenSSL 1.0.1k 8 Jan 2015bit datang dari beberapa versi non-Ubuntu OpenSSL.

Untuk mengatasi masalah Anda, Anda perlu mencari tahu di mana OpenSSL bukan Ubuntu dan menghapusnya dari jalur perpustakaan Anda.

Coba ini:

ldd /usr/bin/openssl

Bagi saya yang melaporkan:

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)

Berikan perhatian khusus pada lokasi libssl dan libcrypto. Lokasi itu harus berada di tempat perpustakaan non-Ubuntu Anda.

Matt Caswell
sumber
1
Terima kasih banyak! Saya telah /usr/local/bin/libssldan /usr/local/bin/libcrypto. Saya baru saja menghapusnya. Sekarang berfungsi dengan baik.
Abdulsattar Mohammed
8

Coba ini:

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

atau ganti namanya, jika Anda tidak yakin 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
sumber
4
Ini berfungsi untuk saya, saya menggunakan anaconda3, dan menyediakan banyak perpustakaan bersama ini, yang mengarah ke masalah. Bisakah Anda jelaskan sedikit jika dan mengapa Anda bisa menghapus ini? Apakah ada kemungkinan kerugian (terasa sedikit seperti solusi kotor)?
Gijs
2
Saya tidak tahu jawabannya, tetapi bagi saya, sementara itu memperbaiki masalah asli saya, itu juga merusak anaconda (menjadi tidak dapat mencari paket-paketnya dll). Saya harus membuat ulang symlink untuk memperbaikinya.
Ben Farmer
Jawaban ini memperbaiki masalah awal, tetapi menyebabkan kesalahan lain yang melibatkan .git-remote-https.bin: kesalahan pencarian simbol: libssl.so.1.0.0: simbol tidak terdefinisi. Jadi, saya akhirnya membalikkan tindakan ini.
maia
2

jalankan perintah ini untuk memeriksa path echo $LD_LIBRARY_PATH.

Saat Anda menginstal anaconda, jalur ini ditambahkan /home/<username>/anaconda3/lib. Hapus dan tambahkan jalur pustaka sistem /usr/local/lib:/usr/lib. Kemungkinan besar Anda dapat menemukannya diekspor dengan membuka vim ~/bashrcatau vim ~/bash_profileIni akan mengambil versi yang tepat saat menggunakan wgetatau curlatau bahkan untuk ssh.

Koo
sumber
1

Saya memiliki masalah yang sangat mirip ketika saya mengkompilasi versi OpenSSL 1.0 sebagai prasyarat proyek untuk mengkompilasi versi lama PHP di Ubuntu 18.04 LTS, yang tampaknya hanya datang dengan paket untuk OpenSSL 1.1.

Saya percaya apa yang terjadi adalah karena OpenSSL versi 1.0 yang lama tidak tersedia sebagai paket untuk 18,04 LTS, saya harus mengunduh dan mengompilasinya sendiri sebelum saya dapat menautkannya untuk proses kompilasi PHP, dan saya percaya bahwa OpenSSL 1.0 kompilasi dibuat /usr/local/lib/libcrypto.so.1.0.0 .

Untuk beberapa alasan, Ubuntu built-in SSH server executable utama / usr / sbin / sshd mulai menghubungkan dengan /usr/local/lib/libcrypto.so.1.0.0 alih-alih sistem default / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Saya menduga bahwa sistem biner SSHD mungkin telah dikompilasi sedemikian rupa sehingga pertama kali mencari libcrypto.so.1.0.0 di / usr / local / lib terlebih dahulu dan hanya melihat lokasi default sistem jika tidak ditemukan di sana

Solusi bagi saya adalah cukup menghapus atau menghapus /usr/local/lib/libcrypto.so.1.0.0 setelah proses kompilasi PHP selesai. Setelah kompilasi PHP selesai, file-file ini tidak lagi dibutuhkan. Saya melakukannya dan reboot dan masih bisa terhubung melalui SSH jadi saya menganggap tidak ada salahnya dilakukan.

Anda harus dapat menguji apakah solusi ini akan bekerja untuk Anda sebagai berikut:

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

Jika perintah LDD pertama kembali:

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

dan perintah LDD kedua mengembalikan:

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

Maka Anda harus baik-baik saja, karena itu berarti secara otomatis mendeteksi file lain setelah Anda menyingkirkan yang pertama.

RedScourge
sumber
Saya memiliki situasi yang sama (mengkompilasi versi PHP dengan berbagai versi OpenSSL). Dengan saya gitdilaporkan /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (re) memindahkan file yang disebutkan oleh keluaran git memperbaiki hal-hal 👍
Potherca
0

Jalankan ini untuk mendapatkan informasi versi - 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
sumber
0

Saya tahu bahwa sudah lama pertanyaan ini dibuat, namun, saya menemukan solusi untuk masalah ini di halaman web ini . Solusinya bekerja untuk saya, dan mungkin bekerja untuk Anda juga. Saya menjalankan perintah berikut: Untuk 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

Untuk 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

Saya tidak tahu persis apa alasan kesalahan itu, tapi saya kira itu terkait dengan keberadaan beberapa file perpustakaan dengan nama yang sama, dalam kasus Anda, banyak file perpustakaan dengan nama libcrypto.so.1.0.0dan dengan nama libssl.so.1.0.0ditemukan.

Matheus Diógenes Andrade
sumber
0

Mirip dengan jawaban dari @ matt-caswell, tetapi lebih spesifik untuk masalah saya tentang nginx:

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

LARUTAN:

  1. Saya berlari ldd /usr/bin/openssl, lalu mendapat:

    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. Kedua file ini salah untuk dijalankan nginx. Jadi hapus sebagai berikut:

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. Mulai ulang mesin, jalankan ldd /usr/bin/openssllagi, dapatkan:

    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)
    

TERPECAHKAN!

Xiaorui Zhu
sumber