В 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.
Есть ли какие-либо руководства или документация помимо того, что указано на странице руководства ssh-keygen? На странице руководства рассказывается, как сгенерировать сертификаты и их использовать, но на самом деле, похоже, не так много информации о настройке центра сертификации. Например, могу ли я подписать ключи с промежуточным ЦС и сделать так, чтобы сервер доверял родительскому ЦС?
Этот комментарий о новой функции, по-видимому, означает, что я могу настроить свои серверы на доверие CA, а затем настроить метод подписи ключей, и тогда пользователям не придется публиковать свои отдельные ключи на сервере. Это также, похоже, поддерживает истечение срока действия ключа, что здорово, поскольку избавиться от старых / недействительных ключей сложнее, чем должно быть. Но я надеюсь найти дополнительную документацию с описанием общей конфигурации CA, SSH-сервера и настроек SSH-клиента, необходимых для этой работы.
Действительно, документы выглядят довольно скудными. В PROTOCOL.certkeys file - вероятно, лучшее место, где можно найти низкоуровневую документацию по этой функции.
re: используя промежуточные центры сертификации, взгляните на эту цитату из этого документа:
«Связанные» сертификаты, в которых тип ключа подписи является самим типом сертификата, НЕ поддерживаются.
Если я правильно это читаю, то использование промежуточного центра сертификации явно невозможно. В целом, похоже, что это действительно простая реализация PKI, и вам, вероятно, следует отказаться от большей части того, что вы ожидаете от мира PKI X.509.
Я опубликовал, как сгенерировать и использовать сертификаты ssh на ServerFault Вот.
Коротко:
У меня проблема в том, как отозвать сертификаты ssh. Необходимость изменения сертификата хоста явно устраняет необходимость наличия центрального CA и сертификата хоста.
Интересный материал.
Файлы regress / cert-hostkey.sh и regress / cert-userkey.sh, которые включены в исходный код OpenSSH, по-видимому, дают довольно хороший обзор того, что эта функция охватывает с точки зрения аутентификации и авторизации пользователей / хостов с помощью CA.
Что касается пользователей, которым необходимо публиковать свои ключи: насколько я понимаю, до тех пор, пока сертификат, предоставленный пользователем, правильно подписан и ограничения на сертификат не запрещают пользователю доступ к этой машине, ему будет разрешено войти в систему. Публикация не требуется.