Перейти к содержимому
ecdsa.com

SSH-сертификат

Подписанный документ в собственном формате OpenSSH (не X.509), в котором ключ центра сертификации привязывает открытый ключ пользователя или хоста к принципалам, сроку действия и опциям, так что отдельные ключи больше не нужно распространять.
Другие написанияOpenSSH certificateSSH CATrustedUserCAKeyscert-authority

Формат описан в файле PROTOCOL.certkeys из OpenSSH: типы ключей вроде ssh-ed25519-cert-v01@openssh.com содержат открытый ключ, серийный номер, тип (пользователь или хост), идентификатор ключа, допустимые принципалы (имена пользователей или хостов), время valid after и valid before, критические опции (force-command, source-address) и расширения (permit-pty, permit-port-forwarding). Сертификат выпускается командой ssh-keygen -s ca_key -I id -n alice -V +8h user_key.pub.

Серверы доверяют сертификатам пользователей через TrustedUserCAKeys (при необходимости сопоставляя принципалы через AuthorizedPrincipalsFile), а клиенты доверяют сертификатам хостов через строку @cert-authority в known_hosts. Для отзыва служит список отзыва ключей (RevokedKeys), но обычно вместо этого задают короткие сроки действия (несколько часов) сертификатам, выпущенным CA с интеграцией SSO, как в step-ca, Teleport или Vault.

В отличие от X.509, цепочек здесь нет: каждый сертификат подписан непосредственно ключом CA, поэтому этот ключ нужно защищать так же, как корневой.

Стандарты и ссылки

Все термины