SSH-CA 身份验证具体是如何工作的?

SSH-CA 身份验证具体是如何工作的?

我知道如何设置整个 SSH-CA 内容,包括 sshd 的配置和密钥的签名。但我想知道的是,身份验证详细是如何工作的?

就像描述的那样这里在最后一章中详细介绍了公钥身份验证。我无法找到答案。

我想象它的工作原理是这样的:

  1. 服务器端:检查signedCertificate中的Principal是否存储在validPrincipals文件中,检查signedCertificate的有效性,并验证signedCertificate中CA的公钥是否与服务器上配置的受信任的公钥匹配。
  2. 服务器端:生成一个随机数并使用提供的公钥对其进行加密并将其发送回客户端。
  3. 客户端:解密随机数并使用随机数和 SharedSessionKey 生成 MD5 Sum,将其发送回服务器
  4. 服务器端:还使用 randomNumber 和 SharedSessionKey 创建 MD5 哈希值,并检查它是否与收到的匹配,并允许或阻止访问

相关内容