昨天用 whois 和 wget 时发现 OpenSSL 版本是 1.0.2x 导致无法核对证书是否有效,无法创造安全的链接,因此下定决心要更新我的 OpenSSL。原文链接
在我们对影响我们与服务器连接的主要功能进行任何升级/更新之前,我们必须进行备份或计划 B(即使 SSH 不可用,它也允许您连接到机器)。例如,VNC,制作服务器备份/快照等。
检查 OpenSSL 版本
openssl version
检查 SSH 版本
ssh -V
更新yum repo。
yum update
如果您当前使用的是 OpenSSL v1.0.2,那么您可能会错过一些升级到 v3.0 所需的模块和功能。因此,在我们使用 OpenSSL v3 之前,需要满足一些先决条件。因为我们是从1.1.1x升级到3.1.0,差距比较大,少了一些3.1.0需要的perl模块,我们先安装。
我们这里以 IPC-Cmd 为例:
转到您喜欢的目录以准备好安装包。我在这里使用/usr/src:
cd /usr/src
从https://cpan.metacpan.org/authors/id/B/BI/BINGOS/下载IPC-Cmd-1.04.tar.gz
wget https://cpan.metacpan.org/authors/id/B/BI/BINGOS/IPC-Cmd-1.04.tar.gz
IPC-Cmd 的版本可能会根据您的需要而变化。我在 2023 年 3 月 4 日在这里使用 1.04。
重要说明:如果您的 OpenSSL 版本已经过期并且由于无法建立安全连接而无法下载,请在wget命令末尾添加 -- no - check - certificate。
解压到/usr/src下
tar -zxf IPC-Cmd-1.04.tar.gz
进入新文件夹
CD IPC-Cmd-1.04
Perl 生成文件
perl Makefile.PL
在此命令之后,它将显示需要和缺少的模块。您需要在安装 OpenSSL 3 之前做好准备。
通常,它们可以通过以下命令安装。
yum -y install perl-Module-Load-Conditional perl-Locale-Maketext-Simple perl-Params-Check perl-ExtUtils-MakeMaker perl-CPAN perl-IPC-cmd
如果没有,您可以通过与上述命令类似的格式安装缺少的模块。
然后,您准备好新的 perl 模块,编译它。
make && make install
到目前为止,一切都很好。接下来,我们很快就会安装 OpenSSL 3。
上一层,/usr/src
通过OpenSSL 或任何你喜欢的版本下载 OpenSSL 3 (但必须是可信来源)。
wget https://www.openssl.org/source/openssl-3.1.0.tar.gz
提取它
tar -zxf openssl-3.1.0.tar.gz
去解压出来的文件夹下
cd openssl-3.1.0
准备好配置
./Configure
编译
make make install
make
make install
等到它完成。如果您在提示中没有看到“错误”字样,则表示做得很好。
让我们检查 OpenSSL 的版本来证明这一点:
是的,没错,您看到的是旧版本号。不要惊慌,它已被缓存。
通过清除缓存
openssl version -r 通过以下方式获取新版本详细信息 ldconfig /usr/local/lib64
openssl version -r
通过以下方式获取新版本详细信息
ldconfig /usr/local/lib64
重新启动你的机器,使一切都好
sudo reboot
重启后查看版本: