我已经生成了这样的 ssh 证书:
ssh-keygen -f ca_key
# 生成一个 ssh 密钥对作为证书使用- 生成主机密钥
ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
- 在服务器的 sshd 配置文件中指定主机密钥:
TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
- 生成本地证书以使用 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 个结果...)