libcrypto.so.1.0.0: không có thông tin phiên bản nào (bắt buộc bởi ssh)


11

Tôi nhận được lỗi sau đây:

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)

Tôi đã chạy hai lệnh này:

sudo apt-get update
sudo apt-get upgrade

Khi tôi chạy lệnh trên tôi vẫn nhận được lỗi tương tự. Tôi nên làm gì? Xin vui lòng cho tôi biết nếu thông tin thêm là cần thiết cho lỗi này.

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)

Tôi đã gỡ cài đặt openssl và cài đặt lại, vẫn cùng một lỗi:

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

Ngoài ra tôi có các phiên bản sau cho 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)

Câu trả lời:


11

Bạn đã cài đặt phiên bản OpenSSL không phải Ubuntu từ đâu đó chưa?

Phiên bản Ubuntu của OpenSSL có một số bản vá bổ sung được cài đặt không được bao gồm nếu bạn lấy phiên bản OpenSSL từ nơi khác. Cụ thể, các biểu tượng được thư viện xuất có thông tin phiên bản được liên kết với chúng trong Ubuntu OpenSSL nhưng không phải là OpenSSL tiêu chuẩn (ít nhất là trong các phiên bản trước 1.1.0). Bạn nhận được cảnh báo "không có thông tin phiên bản" nếu bạn chạy một ứng dụng do Ubuntu cung cấp, dự kiến ​​thư viện sẽ có các ký hiệu được phiên bản, nhưng phiên bản thư viện mà bạn thực sự chọn là phiên bản không phải là Ubuntu không có các ký hiệu được phiên bản đó . Nó sẽ hoạt động (thường), nhưng nó sẽ phàn nàn về nó.

Dấu hiệu vấn đề khác là đây:

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

Điều này cho bạn biết rằng ứng dụng dòng lệnh OpenSSL là 1.0.2g, nhưng nó đang liên kết với thư viện 1.0.1k. Điều này có thể gây ra sự cố - thông thường ứng dụng dòng lệnh và thư viện nên sử dụng các phiên bản phù hợp.

Một OpenSSL 1.0.2g 1 Mar 2016chút của phiên bản là những gì Ubuntu OpenSSL tiêu chuẩn sẽ báo cáo. Các OpenSSL 1.0.1k 8 Jan 2015bit được phát ra từ một số phiên bản không-Ubuntu OpenSSL.

Để giải quyết vấn đề của bạn, bạn cần tìm ra OpenSSL không phải là Ubuntu và xóa nó khỏi đường dẫn thư viện của bạn.

Thử đi:

ldd /usr/bin/openssl

Đối với tôi báo cáo:

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)

Đặc biệt chú ý đến vị trí của libssl và libcrypto. Vị trí đó phải là nơi thư viện không phải Ubuntu của bạn.


1
Cám ơn rất nhiều! Tôi đã có /usr/local/bin/libssl/usr/local/bin/libcrypto. Tôi chỉ cần loại bỏ chúng. Nó hoạt động hoàn hảo bây giờ.
Abdulsattar Mohammed

8

Thử đi:

Gỡ bỏ nó rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

hoặc đổi tên nó, trong trường hợp bạn không chắc chắn 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
Điều này làm việc cho tôi, tôi đang sử dụng anaconda3và nó cung cấp rất nhiều các thư viện chia sẻ này, dẫn đến các vấn đề. Bạn có thể giải thích có thể một chút nếu và tại sao bạn chỉ có thể xóa những thứ này? Liệu nó có bất kỳ nhược điểm có thể (cảm thấy hơi giống như một giải pháp bẩn)?
Gijs

2
Tôi không biết câu trả lời, nhưng đối với tôi, trong khi nó đã khắc phục vấn đề ban đầu của tôi, nó cũng đã phá vỡ anaconda (nó trở nên không thể tìm kiếm các gói của nó, v.v.). Tôi đã phải tạo lại symlink để sửa nó.
Nông dân Ben

Câu trả lời này đã khắc phục sự cố ban đầu, nhưng gây ra một lỗi khác liên quan đến .git-remote-https.bin: lỗi tra cứu biểu tượng: libssl.so.1.0.0: biểu tượng không xác định. Vì vậy, tôi đã kết thúc hành động này.
maia

2

chạy lệnh này để kiểm tra đường dẫn echo $LD_LIBRARY_PATH.

Khi bạn cài đặt anaconda, đường dẫn này được nối thêm /home/<username>/anaconda3/lib. Loại bỏ nó và nối các đường dẫn thư viện hệ thống /usr/local/lib:/usr/lib. Nhiều khả năng bạn có thể tìm thấy nó xuất khẩu bằng cách mở vim ~/bashrchoặc vim ~/bash_profilenày nên nhặt các phiên bản đúng khi sử dụng wgethoặc curlhoặc thậm chí cho ssh.


1

Tôi đã gặp một vấn đề tương tự khi tôi biên dịch một phiên bản OpenSSL 1.0 như một điều kiện tiên quyết của một dự án để biên dịch một phiên bản PHP cũ trên Ubuntu 18.04 LTS, dường như chỉ đi kèm với các gói cho OpenSSL 1.1.

Tôi tin rằng những gì đã xảy ra là vì phiên bản OpenSSL 1.0 cũ không có sẵn như là một gói cho 18.04 LTS, tôi đã phải tải xuống và tự biên dịch nó trước khi tôi có thể liên kết với nó cho quá trình biên dịch PHP và tôi tin rằng OpenSSL 1.0 biên dịch được tạo /usr/local/lib/libcrypto.so.1.0.0 .

Vì một số lý do, máy chủ SSH tích hợp sẵn của Ubuntu / usr / sbin / sshd bắt đầu liên kết với /usr/local/lib/libcrypto.so.1.0.0 thay vì mặc định hệ thống là / usr / lib / x86_64-linux -gnu / libcrypto.so.1.0.0 . Tôi nghi ngờ rằng nhị phân SSHD của hệ thống có thể đã được biên dịch theo cách mà lần đầu tiên nó tìm libcrypto.so.1.0.0 trong / usr / local / lib và chỉ nhìn vào vị trí mặc định của hệ thống nếu không tìm thấy ở đó

Giải pháp cho tôi là chỉ cần xóa hoặc xóa /usr/local/lib/libcrypto.so.1.0.0 sau khi quá trình biên dịch PHP hoàn tất. Sau khi quá trình biên dịch PHP hoàn tất, các tệp này không còn cần thiết nữa. Tôi đã làm như vậy và khởi động lại và vẫn có thể kết nối qua SSH vì vậy tôi cho rằng không có hại gì.

Bạn sẽ có thể kiểm tra xem giải pháp này có hiệu quả với bạn như sau không:

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

Nếu lệnh LDD đầu tiên trả về:

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

và lệnh LDD thứ hai trả về:

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

Sau đó, bạn sẽ ổn, bởi vì nó có nghĩa là nó tự động phát hiện các tập tin khác sau khi bạn thoát khỏi tập tin đầu tiên.


Tôi đã có tình huống tương tự (biên dịch phiên bản PHP với các phiên bản OpenSSL khác nhau). Với tôi gitbáo cáo /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh). (tái) di chuyển tệp được đề cập bởi đầu ra git đã sửa các thứ
Potherca

0

Chạy cái này để lấy thông tin phiên bả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

0

Tôi biết rằng đã có một thời gian dài câu hỏi này được tạo ra, tuy nhiên, tôi đã tìm thấy một giải pháp cho vấn đề này trong trang web này . Các giải pháp làm việc cho tôi, và có thể làm việc cho bạn là tốt. Tôi đã thực hiện các lệnh sau: Đối với 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

Đối với 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

Tôi không biết chính xác lý do lỗi là gì, nhưng tôi đoán rằng nó có liên quan đến sự tồn tại của nhiều tệp thư viện có cùng tên, trong trường hợp của bạn, nhiều tệp thư viện có tên libcrypto.so.1.0.0và với tên libssl.so.1.0.0được tìm thấy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.