我是否了解 OpenSSH 和 X509 的工作原理?

我是否了解 OpenSSH 和 X509 的工作原理?

我们想要使用 X509 证书测试与 OpenSSH 的连接来自 Roumen Petrov 的 pkixssh 分叉

我真的不明白完整的身份验证是如何进行的,特别是如何创建符合 X509 标准的证书以进行公钥证书验证。

因此,我将首先解释我如何理解它,以及我将遵循的完整过程,以测试“客户”和一个“服务器”一台装有 OpenSSH 的 PKIXSSH 分支的机器,使用 X509 证书。为了进行测试,我们将使用第三台机器,我们称之为“控制机器”,充当“认证机构”的机器

为了了解其工作原理,我阅读了以下文档:

简单总结一下,如果我理解正确的话,它的工作原理如下:

  • X509 是签署公钥的标准。如果知道认证机构,则签名的公钥被视为有效。
  • 我们可以为主机和用户签署公钥
  • 使用 X509 证书,我们可以登录 OpenSSH 服务器,而无需使用密码,也无需使用传统的 OpenSSH 私钥-公钥身份验证。这意味着无需在目标服务器上复制用户公钥
  • 如果我们对主机使用 X509 证书,那么客户端将信任 OpenSSH 服务器,而无需在 known_host 文件中手动添加其公钥。

我们要做两个测试:

  • 使用 X509 证书测试用户从客户端计算机到服务器的连接
  • 第二步,添加服务器主机的身份验证

我得出的结论是,必须采取下一步行动

  • 在“控制”机器中:

    • 为我们的测试认证机构配置并创建密钥
    • 将公共证书颁发机构密钥发送到“服务器”计算机的 OpenSSH 守护进程,以便我们的 CA 得到认可
  • 在“客户端”机器中:

    • 为用户创建私钥和公钥
    • 将公钥发送到控制机,由 CA 进行签名
    • 将证书添加到私钥文件,以便将其呈现给服务器

此时一切都应该准备就绪,我们可以测试连接了

我理解得对吗?

答案1

最后我理解并测试了连接:-)。

我在刚刚部署的博客上写了一篇文章(以一种快速而粗糙的方式,该博客很简单并且不是很漂亮,但很有用)。

您可以在文章中阅读有关该测试的完整描述“如何使用 X509 证书进行 OpenSSH”

非常感谢 Roumen Petrov 对我在产品邮件列表中的电子邮件的回复。

相关内容