Aller au contenu

Certificat SSH

Certificat SSH (en anglais SSH certificate) : clé publique SSH signée par une autorité de certification, avec une durée de validité et la liste des comptes autorisés (principals), que les serveurs acceptent sans fichier authorized_keys.

C'est un format propre à OpenSSH, pas un certificat X.509. Chaque serveur fait confiance à la clé publique de l'autorité (TrustedUserCAKeys /etc/ssh/ca-utilisateurs.pub dans sshd_config). L'autorité signe la clé d'une personne : ssh-keygen -s ca-utilisateurs -I alice@lyneko -n alice -V +8h id_ed25519.pub produit id_ed25519-cert.pub, où -I donne l'identité inscrite dans les journaux, -n les comptes autorisés et -V la validité. ssh-keygen -L -f id_ed25519-cert.pub affiche son contenu.

L'intérêt est la révocation : plus de clés à retirer machine par machine, le départ d'une personne se traite en coupant son accès à l'autorité, et ses certificats expirent d'eux-mêmes dans la journée. Pour révoquer avant l'échéance, RevokedKeys liste les clés refusées. Des certificats d'hôte (HostCertificate, et @cert-authority dans known_hosts) suppriment de même la question de la première connexion. En contrepartie, la clé privée de l'autorité devient le secret le plus sensible de l'infrastructure, à protéger dans un coffre ou un HSM. PAM continue d'exécuter ses piles account et session pour ces connexions.

Dans les cours

Voir aussi