如何查看Linux中的OpenSSL版本 (linux openssl 查看版本)

OpenSSL是一种加密协议,它能够帮助用户加密他们与网络服务之间的数据传输。在Linux系统中,OpenSSL被用于许多不同的应用程序中,包括Apache服务器和许多其他的Web服务端。

在Linux系统中,查看OpenSSL版本是一个非常简单的过程。下文将向你详细介绍。

使用命令行检查OpenSSL版本

在Linux系统中,我们可以通过终端命令来检查OpenSSL版本。下面是一个简单的步骤:

1. 打开终端

在Linux系统中,您可以通过键盘快捷键Ctrl+Alt+T来打开终端。

2. 运行以下命令

在终端中,在执行以下命令中,您可以检查OpenSSL版本:

openssl version

3. 查看OpenSSL版本

检查完毕后,您将看到类似于以下内容的输出:

OpenSSL 1.1.1f 31 Mar 2023

这段输出告诉我们OpenSSL的版本号是1.1.1f,最后更新于2023年3月31日。

在这里,我们需要解释一下输出中的版本号格式。OpenSSL有两个主要的版本分支:1.0.X和1.1.X。版本号的之一个数字指定这个版本分支,即“1.0”或“1.1”。其余的数字表示发布版本号。之一个字母表示修补版本号,例如“a”,“b”或“c”。

使用软件包管理器检查OpenSSL版本

在Linux系统中,您还可以通过软件包管理器来检查OpenSSL版本。这是一个更加快捷的方法,尤其是当您有多个应用程序依赖于OpenSSL时。在这里,我们将向您展示如何在一些常用的Linux平台上使用包管理器。

Debian / Ubuntu

如果您使用的是Debian或Ubuntu Linux,可以使用以下命令来检查OpenSSL版本号:

dpkg -l | grep openssl

执行此命令后,您将看到类似于以下内容的输出:

ii openssl 1.1.1f-1ubuntu2.1~18.04.5 amd64 Secure Sockets Layer toolkit – cryptographic utility

此输出表示您系统上已安装的OpenSSL版本为1.1.1f。

CentOS / RHEL

如果您使用的是CentOS或RHEL Linux,可以使用以下命令来检查OpenSSL的版本号:

rpm -qi openssl

执行此命令后,您将看到如下输出:

Name : openssl

Version : 1.1.1c

Release : 2.el8_0.1

Architecture: x86_64

此输出表示您系统上已安装的OpenSSL版本为1.1.1c。

结论

综上所述,这就是如何在Linux系统中检查OpenSSL版本的两种方法。使用命令行可用于快速检查版本号,而使用系统包管理器则可帮助您确定整个系统上已安装的OpenSSL版本。无论您使用哪种方法,了解您系统所安装的OpenSSL版本是确保安全的关键步骤之一,同时也可以支持其他应用程序的正常运行。

相关问题拓展阅读:

怎样查询cisco 使用openssl

OpenSSL

OpenSSL 包含一个命令行工具用来完成 OpenSSL 库中的所有功能,更好的是,它可能已经安装到你的系统中了。

OpenSSL 是一个强大的安接字层密码库,Apache 使用它加密 HTTPS,OpenSSH 使用它加密 SSH,但是,你不应该只将其作

为一个库来使用,它还是一个多用途的、跨平台的密码工具。

这里简单说一下 OpenSSL 的背景,在 OpenSSL 之前,叫做 ssleay,它是搭游一个由 EricA.Young 编写的 SSL 工具,它不断改

进最终变成了 OpenSSL,与 NCSA 的 HTTPd 变成 Apache 服务器的过程非常类似,今天,OpenSSL 支持多种加密算法和协

议。 OpenSSL 有许多的特征,而且还有 SSL 客户端和服务端特征,OpenSSL 还有:

◆美国联邦 NIST FIPS一级评估确认

◆TLS,下一代 SSL 协议

◆X.509 密钥和证书的生成

◆X.509 证书权力

◆S/MIME 加密

◆文件加密和粉碎

◆打乱 UNIX 密码

◆9 个不同的商业密码硬件设备

◆密码性能测试

◆36 个命令

◆6 个消息摘要算法

◆9 个密码算法

◆多个加密协议

尽管 OpenSSL 很复杂,但是大量的复杂性可以被避免的,本文剩下的部分将集中在易于使用的特征上,在 shell 代码中仅仅

需要几行就可以了。

本文使用与我早期编写的 GnuPG Hacks 文章一致的小结标题,以便于比较 OpenSSL 和 GnuPG。

入门 首先,确认一下 OpenSSL 已经安装并处于你的径之下,许多 Linux 发行版,甚至一下小的发行版,都包括了

OpenSSL,通常,OpenSSL 处于/usr/bin/下。

在所有的例子中,shell 提示符都是$。

之一步,输入: #: openssl version 注意这里在 version 选项前是没有破折号的。

你应该看到类似下面这样的输出: OpenSSL 0.9.7d 17 Mar 2023 准确的版本号,日期和其他可能不同的细节,

写本文的时候,目前的版本是 OpenSSL0.98a,我们正在使用的例子能工作在大部分 OpenSSL 版本下。

如果你只输入了 openssl,没有附加任何的参数,你将得到下面这样的提示符: OpenSSL>

如果是这样,只需要输入 quit 或按 Ctrl-C 即可安全地退出,它 OpenSSL 内部命令行提示符,它没有命令行功能,也没有

明确的帮助功能,但是,如果你输入一个它不认识的命令,它会列出一个可用的命令行表。

二进制文件保护

二进制文件典型地用于使用 MIME 的电子邮件,如果你的电子邮件软件不支持 MIME,如大多数命令行电子邮件客户端,你

将被 uuencode 困扰,你可以使用基于 64 位编码的 OpenSSL,复杂的 MIME 协议也使用的是 64 位编码,但是它不能直接兼容

MIME。 要使用 64 位编码打包二进制文件成文本文件,

输入: #: openssl base64 filename.txt

要打开 64 位编码的文本文件,

输入: #: openssl base64 -d filename.bin

注意 OpenSSL 不会关心文件扩展名。

OpenSSL 与 GnuPG 或 MIME 不一样森枝知,它还能对此消短字符串进行编码,

如下:

#: echo “The Linux Journal” | openssl base64 VGhlIExpbnV4IepvdXJuYWwK

解码: #: echo “VGhlIExpbnV4IEpvdXJuYWwK” | openssl base64 -d The Linux Journal

注意-d 选项,它意味着译码。 更好的校验和 sum 和 cksum 是传统的 UNIX 校验程序,它们工作得很好,只要你

不需要跨平台兼容或安全,你也不用担忧会出现 2 个完全不同的文件有相同的校验和值。

尽管 Linux 系统经常安装了 md5sum, MD5 算法遭受了一个相对较新的漏洞, 现在不应该使用它。 如果它已经安装了, 应该

使用更安全的 sha1sum,但是,一些版本只能同时对一个文件进行打乱,一些不能处理标准输入或者有其他的不足,如果你

运行这些程序遇到了问题或者你想有一致的、比较知名的、具有良好跨平台的软件,建议考虑 OpenSSL。

OpenSSL 打乱输出格式与 GnuPG 有一点不同, 但是数字是相同的, OpenSSL 格式总是要鉴定使用的算法, 并总是输出一

个小写的无空白的十六进制的字符串,你会发现这种格式更容易使用。

这里有一些例子:

#: opensslsha1 filename

SHA1(filename)= e83a42b9bc8431abe50b6341a35d3dceb

#: opensslmd5filename

MD5(filename)= 26e9855f8ad6a5906fea121283c729c4

在我早前的文章“GnuPG Hacks”中,

上面的例子使用了一个包括字符串“TheLinux Journal”的文件,注意这个字符串没有句号。

如果你复杂这些结果时遇到了问题,这里提供一个带 ASCII 注释的十六进制的表示,注意新行末尾是 vi 自动加上去

的: OpenSSL 与 GnuPG 不一样,它没有 SHA-512 加密算法,但是 OpenSSL 有 MD2,MD4,MDC2,这些都是旧的算法了,

只是为了保持向后兼容,和 MD5 一样,现在它们都不应该拿来使用。 快速整洁的加密 尽管这不是 OpenSSL 的强

项,但它也能加密文件,灵活的 OpenSSL 做这件事要比 GnuPG 复杂一些。 OpenSSL 默认选项比较少,因此要使用更多

的选项,也有许多算法可供选择,一些算法如 DES 和 RC4-40,只是为了向后兼容,现在不应该再拿来使用了,你应该使用强

壮的算法如 bf (它是 Blowfilsh 算法的简称)和-aes-128-cbc (它是美国 NIST 高级加密标准—AES,运行在 CBS 模式下使用

128 位密钥) 。

这里有一个例子:

#: openssl enc -aes-128-cbc filename.aes-128-cbc

aes-128-cbc encryption password:

Verifying aes-128-cbc encryption password:

与 GnuPG 一样,OpenSSL 要求提供 2 次密语,并且不会回显到屏幕上。

解密也比 GnuPG 更复杂一点:

#: openssl enc -d -aes-128-cbc -in filename.aes-128-cbc > filename

aes-128-cbc decryption password:

注意例子中的-d 参数,它意味着解密。

OpenSSL 与 GnuPG 不一样,不能自动检查文件的类型或者使用了什么算法也不知道、也不清楚加密文件使用的密钥的长度

和模式。

你需要自己保存一个跟踪记录,

在我的例子中,我将这些信息放在文件扩展名里了,OpenSSL 不能为你管理文件和文件扩展名,你不得不指出输出数据写入

的位置。

如果你没有指定正确的算法,OpenSSL 可能输出一堆圾信息也可能产生一个看不懂的数字,无论怎样,没有正确的给

出选项,你的数据就不能正确地解密。 密语 在我们更进一步之前,我们应该先讨论一下密语的重要性,在大多

数加密系统中,密语是保存了其他机密的秘密,它通常是最薄弱的点,因此,创建一个强壮的密语是很重要的,但是这也很

困难,除非你有好用的工具,使用 OpenSSL 你就能快速地创建一个强壮的密语。

一个对密语简单的指导就是长度与优势的比较表,8 个字符不够长(表 1) ,目标是创建一个保密性强的而且你又能记

住的其他人又不知道的密语,不能靠猜或最后偶尔发现。 表 1 密码和密语被的估计时间强度比较,注意:时间是比较粗糙

的。

产生一个密语 OpenSSL 能创建非常强壮的随机密语:

#: openssl rand 15-base64wGcwstkb8Er0g6w1+Dm+

如果你运行了这个例子,你的输出将与这里的输出不同,因为密语是随机产生的。

之一个参数 15 是产生的二进制字节数,第二个参数-base64 指出那些二进制字节应该用基于 64 位字符编码,对于 15 字节

而言,输出总是 20 个字符,加上一个新行字符。 基于 64 位字符设定了只由大写和小写的字母 A-Z,数字 1-9 和 3 个

标点字符:加号、斜线号和等号。这是一个有意的字符限制设置,更复杂的字符设置不是必需的,仅仅增加一个额外的字符

使得安全变得不同,

例如:一个 8 位字符完全可打印的 ASCII 密码大约与一个 9 位字符基于 64 位字符编码的密码强度相当。 尽管可以使

用 openssl rand 快速生成密语,但是专业的密语生成器生成强壮的并容易记忆的密语,我强烈推荐使用它。

加密密码 还有一些事情是 GnuPg 不能做的,

OpenSSL 内置了一个命令用来创建加密的 linux 密码,就象/bin/passwd 一样。

跳过这个段落避免陷入钻牛角尖的密码术,尽管通常叫做加密,linux 密码实际上使用的是 MD5 或旧的 UNIX 密码打乱机

制(基于 DES 加密算法) ,这就允许 linux 不知道你的密码,即使你提供了正确的密码让它知道了。

当你设置你的密码时,linux 打乱你的密码并保存在/etc/shadow 中,当你登陆时,linux 提取你输入的密码并再打乱一次,

再与保存在/etc/shadow 中的进行比较,如果匹配你提供的就是正确的密码,你就能登陆,如果不匹配,你也不清楚密码是

好多了,因为存储的是打乱后的数据,计算器也不会知道你的密码是好多,反正你是不能登陆进去的。

这就是为什么打乱你自己的密码有用了,假设你在另一个计算器上需要一个新密码,或许它是一个新账号或你忘记了旧

的密码让管理员给你重设密码,如果你能亲自告诉管理员,那么没有问题,但是如果管理员不在怎么办呢?

或许你从来都没有和管理员见过面,你怎么传输你的新密码?电子邮件是不安全的,可能要好一点,邮寄一封信可能要

好几天(可能会有其他安全问题) ,传真机,文本消息和大多数纸张上的东西是不安全的。 更糟糕的是,你可能不信

任那个管理员,当然,管理员通常就是 root,但是其他人可能知道你的密码,或许你象在其他机器上使用相同的密码,并且

你也不信任那些机器的管理员。

因此,使用下面的方法:

#: opensslpasswd -1

Password:

Verifying – Password:

$1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0

输入 2 次密码,它不会回显的,如果你有多个账户,就运行多次上面的命令,输出的内容就是密码加密后的结果,由于

采用的是随机加密,每次运行结果都是不一样的,即使密码是相同的。

在我的例子中,密码打乱后是这样的: $1$zmUy5lry$aG45DkcaJwM/GNlpBLTDy0 你的密码打乱后可能与这里完全不同,除

了开头的$1$。

打乱后的密码【译者注:实际上通常我们叫做 hash 值】就能用于电子邮件、传真、文本消息甚至通过交谈传输给

管理员了, 管理员据此可以重新设置你的密码 hash 值。 在管理员收到你的密码 hash 值后, 它可以手动修改/etc/shadow

或使用 chpasswd 命令,后面需要一个临时的新文件,叫做 newpassword,你的登陆 Id 和密码 hash 值象这

样: LoginidHere:$1$ywrU2ttf$yjm9OXTIBnoKJLQK2Fw5c/ 这个文件可以包括多行,为其他帐户提供类似的功能。

然后,管理员作为 root 登陆运行:

chpasswd –encrypted

现在,新密码已经设置好了,一旦你登陆后立即修改你的密码是个好主意,除非你使用的是一个强壮的密语,这是因为密

码 hash 值,一旦暴露,就成为脱机强制的对象,除非这个密码是真的很长。

这个设置密码的方法是相当安全的,例如:使用这个技术,某个人能获取到密码 hash 值,创建一个账号,并知道登陆 id

和主机名,但是只有原先创建这个用户的人才知道密码,即使这个账号的密码 hash 值发布在杂志上也不用担心。

顺便说一下,那个 hash 值对应的密码是完全随机的基于 64 位字符编码的 28 位长,因此要它是非常困难的,

但是请注意,

不要用那些密码已经公布出来的 hash 值创建账号,

如:HXzNnCTo8k44k8v7iz4ZkR/QWkM2

密码和 hash 值象下面这样创建:

#: openssl rand21 -base64

HXzNnCTo8k44k8v7iz4ZkR/QWkM2

#: openssl passwd-1

HXzNnCTo8k44k8v7iz4ZkR/QWkM2

这些例子使用 MD5 密码 hash 值,目前通用的 linux 系统都是这样,如果你需要使用旧的 UNIX 系统 hash 值,只需要去掉-1

参数,

例如: #: openssl passwd

Password:

Verifying – Password:

xcx7DofWC0LpQ

最后这个密码 hash 值的密码是:TheLinux

密码基准检验

OpenSSL 支持的许多算法使得它非常合适于密码基准检验,这对于比较相同硬件情况下不同算法的性能很有用,并且,它内

置了一个基准检验命令。

openssl speed 命令,默认情况下,在每个单独支持的模式和选项下运行每个单独的算法,使用不同的数据大小,不同的

大小是重要的因为算法启动过头了。

完整运行 speed 需要花费大约 6 分钟时间,不考虑硬件的性能,产生 29 行摘要 124 行性能数据。

但是,注意加密算法的性能严重依赖特定的工具,对于高性能,

OpenSSL 在 x86 系统代码中有几个算法。其他结构如 ia64, SPARC 和 x86-64, 没有什么系统代码, 没有列出的架构更没有

了,系统代码放在 OpenSSL 源代码目录:crypto/*/a,

这仅仅是 OpenSSL 命令行功能的一个样本。在 OpenSSL 网站上有更多的文档, 也有几个邮件列表提供技术支持。

linux openssl 查看版本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux openssl 查看版本,如何查看Linux中的OpenSSL版本,怎样查询cisco 使用openssl的信息别忘了在本站进行查找喔。


数据运维技术 » 如何查看Linux中的OpenSSL版本 (linux openssl 查看版本)