如何撤销ssh证书(不是ssh身份文件!)


14

我已经生成了这样的ssh证书:

  1. ssh-keygen -f ca_key #生成一个ssh密钥对以用作证书
  2. 生成主机密钥 ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
  3. 在服务器的sshd配置文件中指定主机密钥: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
  4. 生成本地证书访问使用SSH证书的主机:ssh-keygen -s ca_key -I cert_identifier user_key.pub。这应该生成user_key-cert.pub

现在,我可以使用ssh -i user_key user@host(使用user_key-cert.pub)登录服务器。除了禁用TrustedUserCAKeys文件以外,如何吊销证书?


有关于这OpenSSH的列表上的讨论在这里gossamer-threads.com/lists/openssh/dev/... -我不认为这是撤销证书一种优雅的方式。
rorycl 2011年

Answers:


13

sshd_config有一个RevokedKeys文件。您可以在其中列出多个密钥或证书,每行列出一个。将来,OpenSSH将支持按证书序列号进行吊销,这将使吊销列表更小。


-3

这些可能是您感兴趣的:

CARevocationFile /path/to/bundle.crl该文件包含多个PEM格式的证书签名者的“证书吊销列表”(CRL),并在一起。

CARevocationPath / path / to / CRLs /带有证书签名者的“证书吊销列表”(CRL)的“哈希目录”。每个CRL应该存储在名称为[HASH] .r [NUMBER]的单独文件中,其中[HASH]是CRL哈希值,[NUMBER]是从零开始的整数。哈希是来自以下命令的结果:$ openssl crl -in crl_file_name -noout -hash

(前3个Google搜索“ ssh ca revoke”的命中结果...)


ssh证书不使用PEM格式证书,而是使用它们自己的格式,因此将无法使用。
rorycl 2011年

上次我检查时OpenSSH没有实现CARevocationFile(最近可能已更改)。
克里斯·S

1
嗯,你是对的。我认为这是不可能的。
draeath 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.