次のエラーが表示されます。
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)
どこかから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以外のライブラリがある場所でなければなりません。
これを試して:
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
が不明な場合に名前を変更します
このコマンドを実行して、パスecho $LD_LIBRARY_PATH
を確認します。
Anacondaをインストールすると、このパスに/home/<username>/anaconda3/lib
が追加されます。それを削除し、システムライブラリパス/usr/local/lib:/usr/lib
を追加します。ほとんどの場合、vim ~/bashrc
またはvim ~/bash_profile
を開くとエクスポートされます。wget
またはcurl
を使用する場合、またはssh
を使用する場合でも適切なバージョンを選択する必要があります。
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)
最初のファイルを削除した後、他のファイルが自動的に検出されるため、問題はありません。
これを実行してバージョン情報を取得します-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