Comment révoquer un certificat ssh (pas un fichier d'identité ssh!)

13

J'ai généré un certificat ssh comme celui-ci:

  1. ssh-keygen -f ca_key # générer une paire de clés ssh à utiliser comme certificat
  2. générer une clé d'hôte ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
  3. spécifiez la clé d'hôte dans le fichier de configuration sshd du serveur: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
  4. générer un certificat local pour accéder à l'hôte en utilisant un certificat ssh: ssh-keygen -s ca_key -I cert_identifier user_key.pub. Cela devrait générer user_key-cert.pub

Je peux maintenant me connecter au serveur en utilisant ssh -i user_key user@host(qui utilise user_key-cert.pub). Comment puis-je révoquer le certificat autre que la désactivation du fichier TrustedUserCAKeys?

rorycl
la source
Il y a une discussion à ce sujet sur la liste openssh ici gossamer-threads.com/lists/openssh/dev/… - Je ne pense pas qu'il existe une manière élégante de révoquer un certificat.
rorycl

Réponses:

13

sshd_config possède un fichier RevokedKeys. Vous pouvez y répertorier plusieurs clés ou certificats, un par ligne. À l'avenir, OpenSSH prendra en charge la révocation par numéro de série de certificat, ce qui réduira considérablement les listes de révocation.

Damien Miller
la source
-3

Ceux-ci peuvent vous intéresser:

CARevocationFile /path/to/bundle.crl Ce fichier contient plusieurs "liste de révocation de certificats" (CRL) de signataires de certificats au format PEM concaténés ensemble.

CARevocationPath / path / to / CRLs / "Hash dir" avec "Certificate Revocation List" (CRL) des signataires de certificats. Chaque CRL doit être stockée dans un fichier séparé avec le nom [HASH] .r [NUMBER], où [HASH] est la valeur de hachage CRL et [NUMBER] est un entier commençant à zéro. Le hachage est le résultat d'une commande comme celle-ci: $ openssl crl -in nom_fichier crl -noout -hash

(3 premiers hits Google sur une recherche de "ssh ca revoke" ...)

draeath
la source
Les certificats ssh n'utilisent pas de certificats au format PEM mais leur propre format, donc cela ne fonctionnera pas.
rorycl
OpenSSH n'implémente pas CARevocationFile la dernière fois que j'ai vérifié (peut avoir changé récemment).
Chris S
1
Hmm, tu as raison. Je ne pense pas que ce soit possible.
draeath