web-dev-qa-db-ja.com

libcrypto.so.1.0.0:利用可能なバージョン情報なし(sshで必要)

次のエラーが表示されます。

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)

次の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)
9
Mona Jalal

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

UbuntuバージョンのOpenSSLには、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ビットは、OpenSSLのUbuntu以外のバージョンから取得されます。

問題を解決するには、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以外のライブラリがある場所でなければなりません。

10
Matt Caswell

これを試して:

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が不明な場合に名前を変更します

8
Pankaj Joshi

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

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

2
Koo

Ubuntu 18.04 LTSでPHPの古いバージョンをコンパイルするプロジェクトの前提条件としてOpenSSL 1.0のバージョンをコンパイルしているときに、非常に似た問題がありました。

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

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

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

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

0
RedScourge

これを実行してバージョン情報を取得します-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
yarick