>今天发现服务器有个漏洞提示修复,关于openssl的,提醒我
将 OpenSSL 升级至最新版本。今天就来操作一波吧~

### 查看系统版本信息
```
#查看系统信息有以下几种方法
[root@lixj-server-01 bin]# uname -a
Linux lixj-server-01 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@lixj-server-01 bin]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@lixj-server-01 proc]# cat /proc/version
Linux version 3.10.0-1062.1.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Mon Sep 30 14:19:46 UTC 2019
```
### 查看openssl版本
```
[root@lixj-server-01 proc]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
```
### 安装依赖
```
sudo yum -y install perl perl-devel gcc gcc-c++
```
### 下载新版本
当前最新版本是OpenSSL_1_1_1i,请到下面页面下载。
官网下载地址: https://www.openssl.org/source/
Github地址:https://github.com/openssl/openssl/releases
### 升级新版本
下载到/usr/local/src目录,
```
[root@lixj-server-01 ~]# cd /usr/local/src
# 下载,上传
# 这里我是下载到电脑再上传到服务器的,wget有点慢
[root@lixj-server-01 src]# tar -zxvf openssl-OpenSSL_1_1_1i.tar.gz
[root@lixj-server-01 src]# cd openssl-OpenSSL_1_1_1i
```
执行编译操作
```
[root@lixj-server-01 openssl-OpenSSL_1_1_1i]# ./config
```

如果没有安装Perl 5,执行config会有提示没有安装,需要先进行安装,执行sudo yum install perl。
```
[root@lixj-server-01 openssl-OpenSSL_1_1_1i]# make
[root@lixj-server-01 openssl-OpenSSL_1_1_1i]# make test
[root@lixj-server-01 openssl-OpenSSL_1_1_1i]# sudo make install
```
替换新旧版本
```
[root@lixj-server-01 src]# sudo mv /usr/bin/openssl /usr/bin/oldopenssl
[root@lixj-server-01 src]# sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
```
> 如果执行 openssl version 报以下错误
>```
>[root@lixj-server-01 bin]# openssl version
>openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
>```
>执行这两句:
>```
>[root@lixj-server-01 bin]# sudo ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
>[root@lixj-server-01 bin]# sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
>```
解决后再次查看openssl版本
```
[root@lixj-server-01 ~]# openssl version
OpenSSL 1.1.1i 8 Dec 2020
```
>常见错误解决
>错误:begin failed--compilation aborted at .././test/run_tests.pl
>解决:sudo yum install perl-devel
>
>错误:Parse errors: No plan found in TAP output
>解决:忽略错误,继续执行安装
>参考:
>https://www.4spaces.org/how-to-upgrade-openssl-on-centos-7/

CentOS升级openssl到最新版本