- PVSM.RU - https://www.pvsm.ru -

Обновление OpenSSL на CentOS — последствия

Всем привет!
Не так давно, возникла задача в обновление openssl на CentOS. Информации о репозиториях, откуда можно обновиться до последней стабильной версии, я не нашел и решил сделать все вручную. Но вот одна загвоздка, после успешного обновления я чуть не потерял удаленный доступ к серверу — ssh перестал работать. Данный материал, посвящен тем, кто планирует обновиться в ручную, как я.

И так. Смотрим текущую версию openssl и видим:

[root@server ~]# openssl version
OpenSSL 1.0.0-fips 29 Mar 2010

Этот OpenSSL входит в состав стандартного репозитория CentOS 6.

[root@server ~]# uname -r
2.6.32-279.1.1.el6.x86_64

Ну, поехали обновляться. Для этого идем на официальный сайт www.openssl.org [1] и скачиваем свежую версию openssl-1.0.1c.tar.gz [2].
Распаковываем дистрибутив.

[root@server ~]# tar -xvzf openssl-1.0.0c.tar.gz

Переходим в директорию.

[root@server ~]# cd openssl-1.0.0c

И приступаем к сборке. Одно замечание, ставил openssl я в стандартную директорию по умолчанию, что и привело к падению ssh, которое я опишу ниже. Я вам советую, не повторять мой подвиг и ставиться, например, в /usr/local/ssl, после чего с помощью ldconfig — дать знать о существовании новой сборки OpenSSL. Но увы, в тот момент, я не подумал об этом и собрал OpenSSL следующим образом.

[root@server ~]# ./config --prefix=/usr --openssldir=/usr/ssl
[root@server ~]# make
[root@server ~]# make test
[root@server ~]# make install
[root@server ~]# 
[root@server ~]# ./config shared --prefix=/usr --openssldir=/usr/ssl
[root@server ~]# make clean
[root@server ~]# make
[root@server ~]# make install

Вуаля, мы обновились… Проверяем.

[root@server ~]# openssl version
OpenSSL 1.0.1c 10 May 2012

А вот теперь самое интересное. Пробуем, сделать ssh на наш сервер.

[sub@t4u ~]# ssh t4u@server
ssh_exchange_identification: Connection closed by remote host

На любой ключ, ssh начнет ругаться «OpenSSL version mismatch.» Не отчаиваемся, и скачиваем последнюю стабильную версию OpenSSH, для того, чтобы обновиться уже с новым OpenSSL. Дистрибутив, можно скачать с официального сайта openbsd.org [3].
Скачиваем, распаковываем и ставим:

[root@server ~]# ./configure --prefix=/usr --with-ssl-dir=/usr/ssl
[root@server ~]# make
[root@server ~]# make install

Перезапускаем sshd.

[root@server ~]# /etc/init.d/sshd restart

Собственно все. Можно жить дальше.
Всем удачи!

Автор: t4u


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ssh/11241

Ссылки в тексте:

[1] www.openssl.org: http://www.openssl.org/

[2] openssl-1.0.1c.tar.gz: http://www.openssl.org/source/openssl-1.0.1c.tar.gz

[3] openbsd.org: https://www.pvsm.ruftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/