libcrypto.so.1.0.0: ไม่มีข้อมูลรุ่น (จำเป็นโดย ssh)


11

ฉันได้รับข้อผิดพลาดต่อไปนี้:

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)

ฉันรันทั้งสองคำสั่ง:

sudo apt-get update
sudo apt-get upgrade

เมื่อฉันเรียกใช้คำสั่งข้างต้นฉันยังคงได้รับข้อผิดพลาดเดียวกัน ฉันควรทำอย่างไรดี? โปรดแจ้งให้เราทราบหากต้องการข้อมูลเพิ่มเติมสำหรับข้อผิดพลาดนี้

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)

ฉันถอนการติดตั้ง openssl และติดตั้งอีกครั้งยังคงเป็นข้อผิดพลาดเดิม:

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

นอกจากนี้ฉันยังมีสิ่งต่อไปนี้สำหรับรุ่น 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)

คำตอบ:


11

คุณได้ติดตั้ง OpenSSL เวอร์ชันที่ไม่ใช่อูบุนตูแล้วหรือยัง?

OpenSSL เวอร์ชันอูบุนตูมีการติดตั้งแพตช์เพิ่มเติมบางอย่างซึ่งไม่รวมอยู่หากคุณได้รับ OpenSSL เวอร์ชันของคุณจากที่อื่น โดยเฉพาะสัญลักษณ์ที่ส่งออกโดยห้องสมุดมีข้อมูลรุ่นที่เกี่ยวข้องกับมันใน Ubuntu OpenSSL แต่ไม่ใช่ OpenSSL มาตรฐาน (อย่างน้อยในรุ่นก่อนหน้า 1.1.0) คุณจะได้รับคำเตือน "ไม่มีข้อมูลรุ่น" หากคุณเรียกใช้แอพพลิเคชั่นที่ให้มากับ Ubuntu ซึ่งคาดว่าไลบรารี่จะมีสัญลักษณ์เป็นเวอร์ชัน แต่เวอร์ชันไลบรารี่ที่คุณรับเป็นเวอร์ชั่นที่ไม่ใช่อูบุนตู . มันจะทำงานได้ (ปกติ) แต่มันจะบ่นเกี่ยวกับมัน

สัญญาณปัญหาอื่น ๆ คือ:

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

สิ่งนี้บอกคุณว่าแอปบรรทัดคำสั่ง OpenSSL คือ 1.0.2g แต่มันเชื่อมโยงกับไลบรารี 1.0.1k นี่น่าจะเป็นสาเหตุของการขัดข้อง - โดยปกติแล้วแอปบรรทัดคำสั่งและไลบรารีควรใช้เวอร์ชันที่ตรงกัน

OpenSSL 1.0.2g 1 Mar 2016บิตของรุ่นมาตรฐานคือสิ่งที่อูบุนตู OpenSSL จะรายงาน OpenSSL 1.0.1k 8 Jan 2015บิตจะมาจากบางรุ่นที่ไม่ใช่ของอูบุนตู OpenSSL

ในการแก้ไขปัญหาของคุณคุณจะต้องค้นหาว่า OpenSSL ที่ไม่ใช่ของ Ubuntu นั้นอยู่ที่ใดและลบมันออกจากเส้นทางไลบรารีของคุณ

ลองสิ่งนี้:

ldd /usr/bin/openssl

สำหรับฉันรายงานว่า:

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)

เอาใจใส่เป็นพิเศษกับตำแหน่งของ libssl และ libcrypto ตำแหน่งนั้นควรเป็นที่ตั้งของห้องสมุดที่ไม่ใช่อูบุนตูของคุณ


1
ขอบคุณมาก! ผมมีและ/usr/local/bin/libssl /usr/local/bin/libcryptoฉันเพิ่งลบพวกเขา มันทำงานได้อย่างสมบูรณ์แบบในขณะนี้
Abdulsattar Mohammed

8

ลองสิ่งนี้:

ย้ายมัน rm /usr/local/MATLAB/R2015a/bin/glnxa64/libcrypto.so.1.0.0

หรือเปลี่ยนชื่อในกรณีที่คุณไม่แน่ใจ 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
สิ่งนี้ใช้ได้ผลกับฉันฉันใช้อยู่anaconda3และให้บริการไลบรารีที่ใช้ร่วมกันจำนวนมากซึ่งนำไปสู่ปัญหา คุณช่วยอธิบายหน่อยได้ไหมว่าทำไมและคุณสามารถลบสิ่งเหล่านี้ได้? มันมีข้อเสียที่เป็นไปได้หรือไม่ (ให้ความรู้สึกเหมือนเป็นวิธีที่สกปรก)
Gijs

2
ฉันไม่ทราบคำตอบ แต่สำหรับฉันในขณะที่มันแก้ไขปัญหาเดิมของฉันมันยังทำลายงูใหญ่ (มันไม่สามารถค้นหาแพ็คเกจ ฯลฯ ) ฉันต้องสร้าง symlink ใหม่เพื่อแก้ไข
ชาวนาเบ็น

คำตอบนี้แก้ไขปัญหาดั้งเดิม แต่ทำให้เกิดข้อผิดพลาดอื่นที่เกี่ยวข้องกับ. git-remote-https.bin: ข้อผิดพลาดการค้นหาสัญลักษณ์: libssl.so.1.0.0: สัญลักษณ์ที่ไม่ได้กำหนด ดังนั้นฉันสิ้นสุดการย้อนกลับการกระทำนี้
maia

2

echo $LD_LIBRARY_PATHเรียกใช้คำสั่งนี้เพื่อตรวจสอบเส้นทาง

/home/<username>/anaconda3/libเมื่อคุณติดตั้งงูเส้นทางนี้ได้รับการผนวกเข้ากับ /usr/local/lib:/usr/libเอามันและผนวกเส้นทางระบบห้องสมุด ส่วนใหญ่มีแนวโน้มที่คุณสามารถหาได้ส่งออกโดยการเปิดvim ~/bashrcหรือvim ~/bash_profileนี้ควรจะรับรุ่นที่เหมาะสมเมื่อใช้wgetหรือหรือแม้กระทั่งcurlssh


2

ฉันมีปัญหาที่คล้ายกันมากเมื่อฉันรวบรวมรุ่น OpenSSL 1.0 เป็นข้อกำหนดเบื้องต้นของโครงการเพื่อรวบรวม PHP เวอร์ชันเก่าบน Ubuntu 18.04 LTS ซึ่งดูเหมือนว่ามาพร้อมกับแพ็คเกจสำหรับ OpenSSL 1.1 เท่านั้น

ฉันเชื่อว่าสิ่งที่เกิดขึ้นคือเนื่องจาก OpenSSL เวอร์ชัน 1.0 รุ่นเก่าไม่พร้อมใช้งานเป็นแพคเกจสำหรับ 18.04 LTS ฉันต้องดาวน์โหลดและรวบรวมด้วยตัวเองก่อนที่ฉันจะเชื่อมโยงกับมันสำหรับกระบวนการรวบรวม PHP และฉันเชื่อว่า OpenSSL 1.0 รวบรวมสร้าง/usr/local/lib/libcrypto.so.1.0.0

ด้วยเหตุผลบางอย่างอูบุนตูในตัว SSH เซิร์ฟเวอร์ปฏิบัติการหลัก/ usr / sbin / sshdเริ่มเชื่อมโยงกับ/usr/local/lib/libcrypto.so.1.0.0แทนค่าเริ่มต้นของระบบของ/ usr / lib / x86_64-linux -gnu ฉันสงสัยว่าไบนารีระบบ SSHD อาจถูกรวบรวมในลักษณะที่เป็นครั้งแรกที่ค้นหา libcrypto.so.1.0.0 ใน / usr / local / lib ก่อนและดูที่ตำแหน่งเริ่มต้นของระบบเท่านั้นหากไม่พบที่นั่น

ทางออกสำหรับฉันคือเพียงลบหรือลบ/usr/local/lib/libcrypto.so.1.0.0หลังจากกระบวนการคอมไพล์ PHP เสร็จสมบูรณ์ หลังจากคอมไพล์ PHP เสร็จสมบูรณ์แล้วไฟล์เหล่านี้ก็ไม่จำเป็นอีกต่อไป ฉันทำและเริ่มระบบใหม่และยังสามารถเชื่อมต่อผ่าน SSH ได้ดังนั้นฉันจึงไม่ได้รับอันตรายใด ๆ

คุณควรจะสามารถทดสอบได้ว่าวิธีนี้จะทำงานให้คุณดังต่อไปนี้:

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

หากคำสั่ง LDD แรกส่งคืน:

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

และคำสั่ง LDD ที่สองส่งคืน:

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

จากนั้นคุณควรจะปรับเพราะมันหมายถึงมันตรวจพบไฟล์อื่นโดยอัตโนมัติหลังจากที่คุณกำจัดไฟล์แรก


ฉันมีสถานการณ์เดียวกัน (รวบรวม PHP เวอร์ชันด้วย OpenSSL เวอร์ชั่นต่างกัน) กับฉันรายงานgit /usr/bin/ssh: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by /usr/bin/ssh)(อีกครั้ง) การย้ายไฟล์ที่กล่าวถึงโดยสิ่งที่คงที่เอาท์พุท git 👍
Potherca

0

เรียกใช้สิ่งนี้เพื่อรับข้อมูลรุ่น - 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

ฉันรู้ว่ามีเป็นเวลานานว่าคำถามนี้ได้ถูกสร้างขึ้น แต่ผมพบว่าวิธีแก้ปัญหาสำหรับปัญหานี้ในนี้หน้าเว็บ วิธีแก้ปัญหานี้เหมาะกับฉันและอาจใช้ได้ผลกับคุณเช่นกัน ฉันรันคำสั่งต่อไปนี้: สำหรับ 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

สำหรับ 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

ฉันไม่ทราบแน่ชัดว่าอะไรคือสาเหตุของข้อผิดพลาด แต่ฉันเดาว่ามันเกี่ยวข้องกับการมีอยู่ของไฟล์ไลบรารีหลายไฟล์ที่มีชื่อเดียวกันในกรณีของคุณไฟล์ไลบรารีหลายไฟล์ที่มีชื่อlibcrypto.so.1.0.0และมีชื่อlibssl.so.1.0.0พบ


0

คล้ายกับคำตอบจาก @ matt-caswell แต่เฉพาะเจาะจงมากขึ้นกับปัญหาของฉันของ nginx:

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

สารละลาย:

  1. ฉันวิ่งldd /usr/bin/opensslแล้วได้รับ:

    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. ไฟล์สองไฟล์นี้ผิดสำหรับการเรียกใช้ nginx ดังนั้นลบออกดังนี้

    /usr/local/openssl/lib/libssl.so.1.0.0
    /usr/local/openssl/lib/libcrypto.so.1.0.0
    
  3. รีบูตเครื่องทำงานldd /usr/bin/opensslอีกครั้งได้รับ:

    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)
    

แก้ไข!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.