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)

次の2つのコマンドを実行しました。

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

Ubuntu以外のバージョンのOpenSSLをどこかからインストールしましたか?

OpenSSLのUbuntuバージョンには、他の場所からOpenSSLのバージョンを入手した場合には含まれていない追加のパッチがいくつかインストールされています。具体的には、ライブラリによってエクスポートされたシンボルには、Ubuntu OpenSSLではそれらに関連付けられているバージョン情報がありますが、標準のOpenSSLではありません(少なくとも1.1.0より前のバージョンでは)。ライブラリにバージョン付きシンボルがあることを期待しているUbuntu提供のアプリケーションを実行すると、「バージョン情報がありません」という警告が表示されますが、実際に取得するライブラリバージョンは、それらのバージョン付きシンボルを持たない非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バージョンのビットは、標準のUbuntu OpenSSLが報告するものです。このOpenSSL 1.0.1k 8 Jan 2015ビットは、Ubuntu以外のバージョンのOpenSSLに由来しています。

問題を解決するには、Ubuntu以外のOpenSSLの場所を特定し、ライブラリパスから削除する必要があります。

これを試して:

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の場所に特に注意してください。その場所は、Ubuntu以外のライブラリがある場所にする必要があります。


1
本当にありがとう!私が持っていた/usr/local/bin/libssl/usr/local/bin/libcrypto。削除しました。今では完全に動作します。
Abdulsattar Mohammed 2017

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 2017年

2
答えはわかりませんが、元の問題は解決しましたが、アナコンダも壊れました(パッケージを検索できなくなったなど)。私はそれを修正するためにシンボリックリンクを作り直さなければなりませんでした。
ベンファーマー

この回答は元の問題を修正しましたが、.git-remote-https.binを含む別のエラーを引き起こしました:シンボル検索エラー:libssl.so.1.0.0:未定義のシンボル。したがって、私はこの行動を逆転させてしまいました。
maia

2

このコマンドを実行してパスを確認しますecho $LD_LIBRARY_PATH

anacondaをインストールすると、このパスにが追加され/home/<username>/anaconda3/libます。それを削除し、システムライブラリパスを追加します/usr/local/lib:/usr/lib。ほとんどの場合、を開くことでエクスポートされたvim ~/bashrcファイルを見つけることができます。またはvim ~/bash_profileを使用するとき、wgetまたはのために正しいバージョンを選択する必要curlがありsshます。


1

OpenSSL 1.1のパッケージのみが付属しているように見えるUbuntu 18.04 LTSで古いバージョンのPHPをコンパイルするプロジェクトの前提条件として、OpenSSL 1.0のバージョンをコンパイルしていたときにも、非常によく似た問題が発生しました。

OpenSSLの古い1.0バージョンが18.04 LTSのパッケージとして利用できなかったため、PHPコンパイルプロセスでリンクする前に、自分でダウンロードしてコンパイルする必要があったと思います。OpenSSL1.0作成した/usr/local/lib/libcrypto.so.1.0.0をコンパイルします。

何らかの理由で、Ubuntuは内蔵のSSHサーバのメイン実行ファイルは/ usr / sbinに/ sshdのに対してリンク開始/usr/local/lib/libcrypto.so.1.0.0の代わりに、システムのデフォルトのは/ usr / libに/ x86_64版、Linuxの-gnu / libcrypto.so.1.0.0。システムのSSHDバイナリは、最初に/ usr / local / libでlibcrypto.so.1.0.0を検索し、システムのデフォルトの場所が見つからない場合にのみ検索するようにコンパイルされているのではないかと思います。

私にとっての解決策は、PHPコンパイルプロセスが完了した後、/ usr / local / lib / libcrypto.so.1.0.0を単に削除または削除することでした。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)

2番目のLDDコマンドは次を返します:

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

最初のファイルを削除した後、他のファイルが自動的に検出されることを意味するため、問題はありません。


私は同じ状況でした(異なるOpenSSLバージョンでPHPバージョンをコンパイル)。私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

この質問が作成されたのは長いことですが、このWebページでこの問題の解決策を見つけました。解決策は私のために働いた、そしてあなたのためにも働くかもしれない。次のコマンドを実行しました: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. これらの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.