ご覧のとおり、libcryptoとlibsslファイルがありません。 apt-updateとapt-upgradeを実行した後、サーバーから自分自身をロックアウトしました。これはWebコンソールから実行しています。SSLファイルが見つからないため、sshや他のプログラムは動作しません。
apt install openssl
を削除してインストールしようとしましたが、libssl-dev
を削除したり、ディストリビューションから独自のopensslをコンパイルしたりしました。これらはどれも必要な.soファイルを作成しません。locate
を実行しましたが、これらのファイルはサーバー上のどこにも存在しません。
また、再インストールできないlibssl1.0.0もあり、これを削除すると、サーバーを強制終了してすべてのデータを削除する700MBのパッケージが削除されます。
解決しました。
問題は、Ubuntu以外のバージョンのopenssl(パッチなし)をインストールすると、「共有ライブラリのロード中にエラーが発生しました」というエラーが発生することです。意味を成さず、多くのトラブルを引き起こします)。ソース: https://askubuntu.com/a/830532/67686
そのため、 https://www.openssl.org/source/ から公式バージョンをコンパイルした場合、主にこれに遭遇します。 openssl-1.0.2m.tar.gzバージョン。公式のUbuntuパッチ(Freenodeの#ubuntuによると数百万回)のバージョンはまだopenssl-1.0.2gであり、パッチ、コンパイル、インストールして機能させる必要があります。
ソリューション( https://stackoverflow.com/a/22634441/3108268 から編集):
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g.orig.tar.gz
(--no-check-certificate
を追加する必要がある場合があります)tar -xvf openssl_1.0.2g.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g-1ubuntu13.debian.tar.xz
tar -xvf openssl_1.0.2g-1ubuntu13.debian.tar.xz
およびmv debian openssl_1.0.2g-1ubuntu13
whereis openssl
現在のopensslを見つけて、削除/削除/バックアップします。cd openssl_1.0.2g/
およびpatch -p1 < ../openssl_1.0.2g-1ubuntu13/patches/version-script.patch
make clean
および./config shared --prefix=/usr/local --openssldir=/usr/local/ssl -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
(または、単純な.config
が必要なだけかもしれませんが、私には機能しません)make
およびmake test
およびmake install
openssl version
また、reboot
を使用して、SSH経由で再び接続できるようにする必要がありました。これらのコマンドはすべて、クラウドサーバー上のWebコンソールを介して実行されました。ダウンロードしたファイルのディレクトリ名は異なる可能性があるため、確認しませんでしたので、ls -l
も確認してください。