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

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

我已经生成了这样的 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 文件外,我还能如何撤销证书?

答案1

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

答案2

您可能对这些内容感兴趣:

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

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

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

相关内容