Ubuntu中安装OpenSSL

一、前期准备
1.1 压缩包下载

在安装openssl之前,我们需要下载对应的压缩包
https://www.openssl.org/source/openssl-3.0.1.tar.gz

此压缩包可以选择win上下载后解压再复制到本地虚拟机中,也可以选择直接在本地虚拟机中使用wget命令进行下载。当然,在使用wget命令时,我们需要先安装wget。

可以通过以下命令在Linux中下载openssl的压缩包
如果要安装指定版本,请下载指定的版本,下载路径也进行修改

复制代码
wget https://www.openssl.org/source/openssl-3.0.1.tar.gz

下载之后需要解压,最终得到名称为openssl-3.0.1的文件夹

复制代码
tar -zxvf openssl-3.0.1.tar.gz
1.2 gcc, make等的安装

由于编译需要使用gcc和make命令,因此需先安装gcc与make

复制代码
sudo apt-get install g++ make

#需要先卸载Ubuntu自带openssl版本
sudo apt remove openssl -y
二、安装配置

在解压完压缩包和安装gcc,make之后,需要进入openssl对应的文件夹,才能进行后续操作

复制代码
cd openssl-3.0.1
./config

执行完成后,会得到以下信息

之后继续在当前目录下执行make -j32和make install命令,得到如下结果。这里的-j32指的是用32线程编译,速度相较传统make更快一些

复制代码
make -j32
make install
接着查看版本:
复制代码
openssl version
#显示指定版本就按照成功

可能会报错

openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No

原因

没有把安装的ssl中libssl.so.3链接到/usr/lib和/usr/lib64中导致找不到

解决方案

查看是否安装有openssl,低版本ssl需要重新安装

复制代码
whereis openssl

查询是否已有找不到的依赖

复制代码
find / -name libssl.so.3
find / -name libcrypto.so.3

链接

复制代码
# 提示前面的路径是自己执行make -j32安装openssl的文件路径,记得替换一下,后面路径是系统的路径,不用修改!
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib/libssl.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib/libcrypto.so.3
ln -s /home/huang/Desktop/openssl-3.0.1/libssl.so.3 /usr/lib64/libcrypto.so.3
相关推荐
C.咖.3 小时前
Linux 基础指令详解 —— 从入门到熟练
linux·服务器·指令·linux指令
minji...3 小时前
Linux 网络基础(五)守护进程化,前后台进程组,作业,会话,setsid(),daemon(),端口号频繁更换问题
linux·运维·服务器·网络·c++·tcp/ip
剑神一笑3 小时前
Linux du 命令深度解析:从磁盘占用统计到目录空间分析
linux·运维·前端
AOwhisky3 小时前
Docker 学习笔记:从生态系统到镜像构建
linux·运维·笔记·学习·docker·容器
CoderMeijun3 小时前
Linux 进程间通信:共享内存详解
linux·共享内存·进程间通信·ipc·shmget
坚持就完事了3 小时前
Ubuntu和Centos中安装软件的命令
linux·ubuntu·centos
程序猿编码3 小时前
Linux 高负载场景下 Web 服务访问日志极速定位工具实现解析(C/C++代码实现)
linux·服务器·c语言·前端·c++
CC城子3 小时前
嵌入式Linux宕机问题GDB调试(二)
linux·gdb
lifewange3 小时前
VMware如何安装并配置CentOs镜像
linux·运维·centos
j_xxx404_3 小时前
【Linux进程间通信】硬核剖析:消息队列、信号量、内核IPC资源统一管理与mmap加餐
linux·运维·开发语言·c++·人工智能·ai