- PVSM.RU - https://www.pvsm.ru -
Всем привет!
Не так давно, возникла задача в обновление 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/
Нажмите здесь для печати.