基于 OpenSSH CA 的基于证书的身份验证文档

Zor*_*che 5 ssh certificate-authority

OpenSSH 5.4 添加了一种新的证书身份验证方法(更改)。

 * Add support for certificate authentication of users and hosts using a
   new, minimal OpenSSH certificate format (not X.509). Certificates
   contain a public key, identity information and some validity
   constraints and are signed with a standard SSH public key using
   ssh-keygen(1). CA keys may be marked as trusted in authorized_keys
   or via a TrustedUserCAKeys option in sshd_config(5) (for user
   authentication), or in known_hosts (for host authentication).

   Documentation for certificate support may be found in ssh-keygen(1),
   sshd(8) and ssh(1) and a description of the protocol extensions in
   PROTOCOL.certkeys.
Run Code Online (Sandbox Code Playgroud)

除了 ssh-keygen 手册页中提到的内容之外,是否还有其他指南或文档?手册页介绍了如何生成证书并使用它们,但它似乎并未真正提供有关证书颁发机构设置的太多信息。例如,我是否可以使用中间 CA 对密钥进行签名,并让服务器信任父 CA?

这个关于新功能的评论似乎意味着我可以设置我的服务器来信任 CA,然后设置一种方法来签署密钥,然后用户就不必在服务器上发布他们的个人密钥。这似乎也支持密钥过期,这很好,因为摆脱旧的/无效的密钥比它应该更困难。但我希望能找到更多关于描述完成这项工作所需的 CA、SSH 服务器和 SSH 客户端设置的总体配置的文档。

Eva*_*son 4

事实上,这些文档看起来确实相当稀疏。PROTOCOL.certkeys文件可能是您获取有关此功能低级文档的最佳位置。

回复:使用中间 CA,请查看该文档中的这段引用:

不支持“链接”证书,其中签名密钥类型是证书类型本身。

如果我没看错的话,那么使用中间 CA 显然是不可能的。一般来说,看起来这是一个非常非常简单的 PKI 实现,您可能应该抛弃 X.509 PKI 世界中您所期望的大部分内容。