Comme vous pouvez le voir, il me manque des fichiers libcrypto et libssl. Je me suis exclu de mon serveur après avoir utilisé apt-update et apt-upgrade. J'exécute ceci à partir de la console Web, car ssh ni aucun autre programme ne fonctionnera pas à cause des fichiers SSL manquants.
J'ai essayé de supprimer et d'installer apt install openssl
, de même que libssl-dev
et/ou de compiler son propre openssl à partir d'une distribution. Aucune de celles-ci ne crée les fichiers .so nécessaires, j'ai exécuté locate
, ces fichiers ne sont présents nulle part sur le serveur.
Il y a aussi libssl1.0.0 qui ne peut pas être réinstallé et son retrait entraînerait la suppression de 700 Mo de paquets qui tueraient littéralement le serveur et supprimeraient toutes les données.
Résolu.
Le problème est que si vous installez une version non-Ubuntu de openssl (non corrigée), vous obtenez l'erreur "erreur lors du chargement des bibliothèques partagées", car il s'agit d'un élément ajouté par les développeurs Ubuntu à leur distribution (et je ne sais toujours pas pourquoi et n'a aucun sens et fait beaucoup de problèmes). Source: https://askubuntu.com/a/830532/67686
Donc, la plupart du temps, vous rencontrerez ceci si vous avez compilé une version officielle de https://www.openssl.org/source/ ex. la version openssl-1.0.2m.tar.gz. Alors que la version officielle d'Ubuntu corrigée (millions de fois, selon les gars de #ubuntu sur Freenode), la version est toujours openssl-1.0.2g et est celle que vous souhaitez corriger, compiler et installer pour la faire fonctionner.
Solution (modifiée de https://stackoverflow.com/a/22634441/3108268 ):
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g.orig.tar.gz
(vous devrez peut-être ajouter --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
and mv debian openssl_1.0.2g-1ubuntu13
whereis openssl
localisez openssl actuel et supprimez/supprimez/sauvegardez-le.cd openssl_1.0.2g/
and patch -p1 < ../openssl_1.0.2g-1ubuntu13/patches/version-script.patch
make clean
and ./config shared --prefix=/usr/local --openssldir=/usr/local/ssl -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
(ou peut-être avez-vous simplement besoin de .config
, ça ne fonctionne pas pour moi)make
and make test
and make install
openssl version
J'avais également besoin de reboot
pour pouvoir me reconnecter via SSH. Toutes ces commandes ont été exécutées via la console Web sur un serveur cloud. Les noms de répertoire de fichiers téléchargés peuvent être différents, je n'ai pas vérifié, donc ls -l
.