SSH CA позволяет доверять короткоживущим сертификатам пользователей вместо копирования каждого ключа на сервер. CA private key лучше хранить офлайн или в HSM.

Важно: Не храните user_ca рядом с сервером, который ей доверяет. Делайте сертификаты короткоживущими и ограничивайте principals.

1. Создайте CA

ssh-keygen -t ed25519 -f user_ca -C 'SSH User CA'

2. Настройте сервер

sudo install -m 0644 user_ca.pub /etc/ssh/user_ca.pub
echo 'TrustedUserCAKeys /etc/ssh/user_ca.pub' | sudo tee /etc/ssh/sshd_config.d/20-user-ca.conf
sudo sshd -t && sudo systemctl reload ssh

3. Подпишите ключ пользователя

ssh-keygen -s user_ca -I ticket-123 -n deploy -V +8h ~/.ssh/id_ed25519.pub

4. Проверьте сертификат и подключитесь

ssh-keygen -L -f ~/.ssh/id_ed25519-cert.pub
ssh deploy@server

5. Добавьте отзыв

ssh-keygen -k -f revoked.krl ~/.ssh/id_ed25519-cert.pub

Официальная документация