![一台服务器上有 2 个版本的 openssl](https://linux22.com/image/729742/%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%9C%89%202%20%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%20openssl%20.png)
在运行 RedHat 6.7 和 Apache 2.4.37 的服务器上,我按照与具有相同设置的其他服务器相同的步骤将 OpenSSL 升级到 1.1.0i,但在此服务器上,不知何故安装了 2 个版本:
openssl version
OpenSSL 1.1.0i 14 Aug 2018 (Library: OpenSSL 1.1.0g 2 Nov 2017)
这导致服务器无法通过安全扫描,因为扫描结果显示 1.1.0g,而我们需要运行 1.1.0i。两个版本都是从源代码安装的。
我怎样才能:
- 配置它使用 1.1.0i
- 彻底删除 1.1.0g
或者
- 恢复更改
答案1
维护二进制文件的多个版本并使其中任何一个版本能够运行的正常方法是将它们安装在不同的位置并使用符号链接指向要使用哪个版本(或环境变量,就像安装多个 java 版本时一样)。
因此,首先弄清楚你正在使用哪个二进制文件:
sudo which openssl
它可能指向 /bin/openssl
ls -l /bin/openssl
-rwxr-xr-x 1 root root 555296 Apr 11 2018 /bin/openssl
然后运行]# /bin/openssl version 查看它是什么版本。
使用“locate”或“find”查找您拥有的其他 openssl 二进制文件,然后将正确的版本替换或符号链接到 /bin
或者实际上是 /usr/bin,因为 /bin 是 /user/bin 的符号链接