Como revogar um certificado ssh (não arquivo de identidade ssh!)

13

Eu gerei um certificado ssh como este:

  1. ssh-keygen -f ca_key # gera um par de chaves ssh para usar como certificado
  2. gerar uma chave de host ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
  3. especifique a chave do host no arquivo de configuração sshd do servidor: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
  4. gerar um certificado local para acessar o host usando um certificado ssh: ssh-keygen -s ca_key -I cert_identifier user_key.pub. Isso deve gerar user_key-cert.pub

Agora posso ssh -i user_key user@hostefetuar login no servidor usando (que usa user_key-cert.pub). Como posso revogar o certificado que não seja a desativação do arquivo TrustedUserCAKeys?

rorycl
fonte
Há uma discussão sobre isso na lista openssh aqui gossamer-threads.com/lists/openssh/dev/… - Eu não acho que exista uma maneira elegante de revogar um certificado.
Rorycl

Respostas:

13

sshd_config possui um arquivo RevokedKeys. Você pode listar várias chaves ou certificados, um por linha. No futuro, o OpenSSH suportará a revogação pelo número de série do certificado, o que resultará em listas de revogação muito menores.

Damien Miller
fonte
-3

Estes podem ser do seu interesse:

CARevocationFile /path/to/bundle.crl Este arquivo contém várias "CRLs" de assinantes de certificados no formato PEM concatenadas.

CARevocationPath / path / to / CRLs / "Hash dir" com "Certificate Revocation List" (CRL) dos assinantes de certificado. Cada CRL deve ser armazenada em um arquivo separado com o nome [HASH] .r [NUMBER], onde [HASH] é o valor de hash da CRL e [NUMBER] é um número inteiro começando do zero. Hash é resultado de um comando como este: $ openssl crl -in crl_file_name -noout -hash

(três primeiros hits do Google em uma pesquisa por "ssh ca revoke" ...)

draeath
fonte
Os certificados ssh não usam certificados no formato PEM, mas com seu próprio formato, portanto, isso não funcionará.
Rorycl
O OpenSSH não implementa o CARevocationFile da última vez que verifiquei (pode ter sido alterado recentemente).
Chris S
1
Hmm, você está certo. Eu não acho que isso seja possível.
precisa