OpenSSH和OpenSSL并不是直系亲属,顶多算有共同志向的兄弟。

他们是由不同的团队开发,有不同目的,但都是开放源码,为安全通信提供支持。

  • SSl是通讯链路的附加层,可以包含很多协议 https,ftps……
  • SSH只是加密的shell,最初是用来替代telnet的,通过port forward,也可以让其他协议通过ssh的隧道 起到加密的效果
  • OpenSSL:一个C语言函数库,是对SSL协议的实现
  • OpenSSH:是对SSH协议的实现
  • SSH利用OpenSSL提供的库。OpenSSH依赖于OpenSSL,没有OpenSSL的话OpenSSH就编译不过去,也运行不了

步骤1:创建一个签名

验证现有的公钥和私钥是否匹配,通常的方法是通过使用私钥加密一段数据然后尝试用对应的公钥解密它,或者使用私钥签名一段数据然后用公钥验证签名。如果解密或验证签名成功,那么可以认为这对公钥和私钥是匹配的。下面是一个基于命令行工具OpenSSL的验证示例:

   echo "This is a test." > test.txt

使用私钥对文件进行签名。
假设你的私钥文件名为private_key.pem,你可以使用以下命令来为test.txt文件创建一个数字签名:

   openssl dgst -sha256 -sign private_key.pem -out test.sig test.txt

这将使用SHA-256算法对文件test.txt进行数字签名,并将签名保存到test.sig文件中。

步骤2:使用公钥验证签名

openssl dgst -sha256 -verify public_key.pem -signature test.sig test.txt

使用对应的公钥来验证签名。
假设你的公钥文件名为public_key.pem,可以使用以下命令来验证签名是否由该公钥对应的私钥生成:

   openssl dgst -sha256 -verify public_key.pem -signature test.sig test.txt

如果签名验证成功,你将看到如下输出:

   Verified OK

如果公钥和私钥不匹配,或者文件在签名后被修改过,验证将失败,OpenSSL会输出:

   Verification Failure

 步骤 1: 下载OpenSSL

https://www.openssl.org/source/
  • 通常推荐下载最新的、非轻量版(non-light)的版本以获得完整的功能。

步骤 2: 安装OpenSSL

  1. 运行安装程序
    双击下载的安装程序文件,按提示进行安装。建议选择“Copy OpenSSL DLLs to: The OpenSSL binaries (/bin) directory”选项,以便将OpenSSL动态链接库放在可执行文件同一目录下,简化配置过程。
  2. 选择安装目录
    配置自定义安装目录:D:\myEnvironment

步骤 3: 配置环境变量

  • 更新Path变量
    在“编辑环境变量”窗口中,点击“新建(N)”并输入OpenSSL的安装目录下的bin目录路径,例如刚才的:D:\myEnvironment

步骤 4: 验证安装

输入openssl version命令并回车。如果安装成功,你将看到OpenSSL的版本信息输出。