天天看點

openssl更新方法(更新怎麼玩)

大家好,又見面了,我是你們的朋友全棧君。

1. Linux 系統版本:

[root@bogon ~]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

openssl更新方法(更新怎麼玩)

圖 1 檢視Linux系統版本

2. 檢視Openssl安裝的版本

[root@bogon ~]# openssl version

OpenSSL 1.0.2k-fips 26 Jan 2017

openssl更新方法(更新怎麼玩)

圖 2 檢視openssl版本

3. 檢視Openssl路徑

[root@bogon ~]# which openssl

/usr/bin/openssl

openssl更新方法(更新怎麼玩)

圖 3 檢視openssl路徑

4.下載下傳Openssl

目前最新版本是1.1.1,可以通過修改版本号的方式下載下傳最新版本,最新版本可以在這個網站下載下傳:https://www.openssl.org/source

[root@bogon ~]# wget http://www.openssl.org/source/openssl-1.1.1b.tar.gz

openssl更新方法(更新怎麼玩)

圖 4 下載下傳openssl-1.1.1b.tar.gz

5. 安裝依賴

[root@bogon ~]# yum install -y zlib

[root@bogon ~]# yum install –y zlib-devel

[root@bogon ~]# yum install –y gcc

6. 安裝Perl

6.1下載下傳Perl

官方網站下載下傳新版本的源碼包:http://www.perl.org/get.html

[root@bogon ~]# wget https://www.cpan.org/src/5.0/perl-5.28.2.tar.gz

openssl更新方法(更新怎麼玩)

圖 5 下載下傳perl-5.28.2.tar.gz

6.2 解壓Perl

[root@bogon ~]# tar -zxvf perl-5.28.2.tar.gz

6.3建立檔案目錄,以供安裝時使用

[root@bogon ~]# mkdir /usr/local/perl

6.4配置Perl參數

進入perl-5.28.2.tar.gz的解壓目錄,執行:

[root@bogon ~]# cd perl-5.28.2

[root@bogon perl-5.28.2]# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads –Uversiononly

6.5 編譯

[root@bogon perl-5.28.2]# make

6.6安裝

[root@bogon perl-5.28.2]# make install

6.7檢視版本

[root@bogon perl-5.28.2]# perl –v

openssl更新方法(更新怎麼玩)

圖 6 檢視perl版本

7. 安裝Openssl

7.1解壓Openssl

[root@bogon perl-5.28.2]# cd

[root@bogon ~]# tar -zxvf openssl-1.1.1b.tar.gz

7.2調用zlib共享庫

[root@bogon ~]# cd openssl-1.1.1b

[root@bogon openssl-1.1.1b]# ./config shared zlib

openssl更新方法(更新怎麼玩)

圖 7 配置openssl

7.3編譯

[root@bogon openssl-1.1.1b]# make

7.4安裝

[root@bogon openssl-1.1.1b]# make install

7.5備份目前Openssl

[root@bogon openssl-1.1.1b]# mv /usr/bin/openssl /usr/bin/openssl.old

[root@bogon openssl-1.1.1b]# mv /usr/lib64/openssl /usr/lib64/openssl.old

7.6使用新版Openssl

[root@bogon openssl-1.1.1b]# ln -s /usr/local/bin/openssl /usr/bin/openssl

[root@bogon openssl-1.1.1b]# ln -s /usr/local/include/openssl/ /usr/include/openssl

8.更新動态連結庫資料

[root@bogon openssl-1.1.1b]# echo “/usr/local/lib/” >> /etc/ld.so.conf

9.重新加載動态連結庫

[root@bogon openssl-1.1.1b]# ldconfig -v

10.檢視安裝完成後的最新版本

[root@bogon openssl-1.1.1b]# openssl version

[root@bogon openssl-1.1.1b]# openssl version –a

openssl更新方法(更新怎麼玩)

圖 8 openssl版本檢視

11.可能存在的異常

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

這是由于openssl庫的位置不正确造成的。

解決方法:

在root使用者下執行:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

如上更新openssl版本後, 導緻某些服務編譯安裝失敗的坑, 如果短時間解決不來, 最好復原到之前的預設版本:

openssl由預設的OpenSSL 1.0.1e更新到OpenSSL 1.1.1e後, 編譯安裝openssh 出現下面報錯:


由于openssl更新後, 可能會導緻一個應用編譯安裝失敗, 遇到的有nginx, keepalived等, 不得已的辦法就是将openssl復原到之前預設的版本狀态, 操作方法如下:
檢視openssl, 然後删除更新後的openssl
[root@localhost ~]# find / -name openssl
[root@localhost ~]# rm -rf /usr/local/src/openssl-1.1.1
[root@localhost ~]# rm -rf /usr/local/bin/openssl
[root@localhost ~]# rm -rf /usr/local/share/doc/openssl
[root@localhost ~]# rm -rf /usr/local/include/openssl

然後檢視下openssl版本
[root@localhost ~]# which openssl
/usr/bin/openssl
[root@localhost ~]# openssl version -a
報錯說/usr/local/bin/openssl 找不到這個檔案

然後重新開機機器
[root@localhost ~]# init 6 

重新開機機器後, 檢視openssl版本, 如果正常查出是預設版本, 則復原正常
[root@localhost ~]# openssl version -a           

複制

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/129077.html原文連結:https://javaforall.cn