поврежден openSSL, веб-сайт не работает SSH, yum, rpm и т. Д. [Закрыто]

Я пытался установить uTorrent на свой PHP-сайт, и в середине процесса меня выгнали из SSH, и сайт отключился.

Для uTorrent требовались libssl.so.1.0.0 и libcrypto.so.1.0.0, поэтому для перехода на более раннюю версию я сделал следующее:

wget https://www.openssl.org/source/openssl-1.0.0r.tar.gz
cd openssl-1.0.0r
./config shared && make

Установка прошла нормально, и она заменила мою предыдущую версию 1.0.1e. Но когда я ldd, в списке отображается «Версия не найдена» для libssl.so.1.0.0 и libcrypto.so.1.0.0. Я приступил к удалению их обоих со своего сервера в надежде отменить изменения, и меня сразу же выгнали из SSH, и сайт отключился.

Теперь я не могу подключиться через SSH, единственный способ - через KVM, предоставленный моим хостом. Все команды т.е. yum rpm wget и т. Д. Возвращает следующую ошибку:

error while loading shared libraries libcrypto.so.10: file too short

Мой сервер неуправляемый, поэтому я не думаю, что у меня есть возможность вручную переустановить пакеты openSSL на USB ...

0
задан 21 July 2016 в 01:02
2 ответа

Если у вас нет возможности подключить к серверу физический носитель,тогда вам нужно очистить и переустановить сервер. Поскольку вам удалось испортить все криптографические библиотеки в ОС, вам необходимо заменить их правильными версиями с физического носителя.

Однако описанный выше метод восстановления требует довольно обширных знаний о том, как управляются пакеты вашего дистрибутива Linux.

Всегда следуйте этому руководству: всегда используйте скомпилированные пакеты для вашего дистрибутива и версии и никогда ничего не компилируйте самостоятельно. Это избавит вас от множества неприятностей.

3
ответ дан 4 December 2019 в 11:15

Этот трюк помог коллеге, который проделал нечто подобное с другим важным пакетом.

Если ваш KVM-доступ позволяет выполнять вставку из буфера обмена, тогда вы можете скопировать поверх ] libssl.so.10 & libcrypto.so.10 из известной рабочей установки. Чтобы ваш терминал не запутался, сначала закодируйте файлы Base64.

Примерно так в заведомо исправной системе:

$ base64 </usr/lib64/libssl.so.10
<copy the output>

Затем в неработающей системе:

$ base64 -d <<EOF >/usr/lib64/libssl.so.10
<paste in the output from above>
EOF

(Повторите для libcrypto.so.10 и любой другой файл)

Если это заставит что-то работать, переустановите пакет (ы) SSL ОС, вероятно, заставив их по пути, поскольку менеджер пакетов будет думать, что они уже установлены.

3
ответ дан 4 December 2019 в 11:15

Теги

Похожие вопросы