
Мы хотим протестировать соединение с OpenSSH с использованием сертификатов X509, используяpkixssh fork от Румена Петрова.
Я не совсем понимаю, как работает полная аутентификация и, в частности, как создавать сертификаты по стандартам X509 для проверки сертификатов открытых ключей.
Итак, сначала я объясню, как я это понимаю, и весь процесс, которому я буду следовать, чтобы проверить связь между"клиент"и а"сервер"машина с PKIXSSH форком OpenSSH, использующим сертификаты X509. Для проведения теста мы будем использовать третью машину, которую назовем"управляющая машина", машина, которая будет действовать как «Центр сертификации»
Чтобы понять, как это работает, я прочитал следующие документы:
- «Масштабируемый и безопасный доступ с помощью SSH», от Facebook: очень полезно для понимания роли центра сертификации в проверке открытых ключей.
- «КАК РАБОТАЮ С SSH И X509 СЕРТИФИКАТАМИ», с форумов обсуждения Gentoo: действительно хорошее и необходимое руководство
- "Сертификаты x509 для SSH", пост из блога "Linux Attitude": еще одно руководство, на этот раз на французском
Если коротко и если я правильно понял, то вот как это работает:
- X509 — стандарт подписи открытых ключей. Подписанные открытые ключи считаются действительными, если известен Центр сертификации.
- Мы можем подписывать открытые ключи для хостов и пользователей.
- С сертификатами X509 мы можем войти на сервер OpenSSH без использования паролей и без использования традиционной аутентификации OpenSSH с закрытым и открытым ключом. Это означает, чтоникакие пользовательские ключи не должны копироваться на целевые серверы.
- Если мы используем сертификаты X509 для хостов, то клиент будет доверять серверу OpenSSH без необходимости вручную добавлять свой открытый ключ в файл known_host.
Мы хотим провести два теста:
- Проверьте подключение пользователя с клиентской машины на сервер с использованием сертификата X509.
- На втором этапе добавьте аутентификацию для хоста сервера.
Я пришел к выводу, что необходимо предпринять следующие шаги
В «контрольной» машине:
- Настройте и создайте ключи для нашего тестового центра сертификации
- Отправьте открытый ключ центра сертификации демону OpenSSH машины «сервера», чтобы наш центр сертификации был распознан.
На «клиентской» машине:
- создать закрытый ключ и открытый ключ для пользователя
- отправить открытый ключ на контрольную машину для подписи сертификатом
- добавьте сертификат в файл закрытого ключа, чтобы он был представлен серверу
На этом этапе все должно быть на своих местах, чтобы мы могли проверить соединение.
Я правильно понял?
решение1
Наконец-то я понял и проверил связь :-).
Я написал пост в блоге, который я только что запустил (быстро и грубо, блог простой и не очень красивый, но полезный).
Полное описание теста вы можете прочитать в статье«OpenSSH с сертификатами X509 КАК СДЕЛАТЬ»
Большое спасибо Румену Петрову за его ответы на мое письмо в рассылке продукта.