Я действительно не уверен в основных различиях между ними, но может ли OpenSSH на Windows Server 2019 использовать клиентские сертификаты, созданные с помощью PowerShell (*.pfx,.cer) в отличие от использования пар открытого/закрытого ключей (.pub, *.) сгенерированы через ssh-keygen?
решение1
И да, и нет, но в основном нет.
Клиент OpenSSH не понимает формат сертификата X.509, а также формат закрытого ключа PKCS#12 (.pfx) и не может получить доступ ни к чему, что хранится в Windows CAPI. Он может использоватьключисами по себе, но сначала их необходимо извлечь в соответствующий формат.
Аналогично, сервер OpenSSH не позволяет вам помещать сертификаты X.509 в authorized_keys (вам пришлось бы выполнить то же самое извлечение открытого ключа), и он абсолютно не знает, как проверить их с помощью корневых центров сертификации.
Существует сторонний форк, «PKIX-SSH» Румена Петрова, который поддерживает прямое использование сертификатов X.509 (но я не думаю, что он поддерживает загрузку закрытых ключей .pfx или CAPI; скорее всего, вам все равно придется конвертировать их в формат PEM или PKCS#8).
Однако в Windows вы, вероятно, предпочтете PuTTY-CAC (широко используемую версию PuTTY), которая поддерживает сертификаты, хранящиеся в Windows CAPI.
Я сделаложидатьMicrosoft адаптировала свой порт OpenSSH для использования сертификатов и ключей в CAPI, но вместо этого они просто пошли по пути традиционного ssh-agent...