我真的不确定它们之间的核心区别,但 Windows Server 2019 上的 OpenSSH 是否可以使用通过 PowerShell 创建的客户端证书(* .pfx,.cer),而不是使用公钥/私钥对(.pub、*.)通过 ssh-keygen 生成吗?
答案1
是也不是,但大多情况下不是。
OpenSSH 客户端不理解 X.509 证书格式,也不理解 PKCS#12 (.pfx) 私钥格式,也无法访问 Windows CAPI 中存储的任何内容。它可以使用键但必须先将它们提取成适当的格式。
同样,OpenSSH 服务器不允许您将 X.509 证书放入 authorized_keys 中(您必须执行相同的公钥提取),并且它也完全不知道如何根据根权限来验证它们。
有一个第三方分支,Roumen Petrov 的“PKIX-SSH”,它支持直接使用 X.509 证书(但我不认为它支持加载 .pfx 或 CAPI 私钥;很可能你仍然需要将它们转换为 PEM 或 PKCS#8 格式)。
然而,在 Windows 上,您可能更喜欢 PuTTY-CAC(PuTTY 的一个广泛使用的分支),它支持存储在 Windows CAPI 中的证书。
我做到了预计微软调整了他们的 OpenSSH 端口以便能够在 CAPI 中使用证书和密钥,但他们只是使用了传统的 ssh-agent……