为 SSH 密钥添加到期日期

为 SSH 密钥添加到期日期

我有一个使用 Putty 生成的 SSH 密钥。注释部分有创建日期“rsa-key-20201015”。如何为 rsa SSH 密钥添加到期日期?可以通过编辑注释部分来完成吗?

答案1

没有地方可以嵌入有效期之内密钥本身。其注释字段实际上只是一个注释字段,将被服务器忽略 - PuTTYgen 仅添加日期以供您自己参考,它不作为“发行日期”。

但是,如果服务器正在运行 OpenSSHv7.7 或更高版本,则可以为特定条目指定到期日期authorized_keys

expiry-time="YYYYMMDD" ssh-rsa AAAAB3Nz...w== Some comment

您还可以使用 指定确切时间YYYYMMDDhhmm(默认为午夜 00:00)。例如,如果您指定20201030,则条目将在 2020-10-30 00:00:00 停止接受。

(请注意,实际密钥根本没有改变 - 它仍然采用相同的格式,并且仍然没有任何“内置”的到期日期,只有文件authorized_keys有。)

较旧的系统不支持此功能,需要通过注释字段手动编写 cron 脚本。供参考:

  • Debian 10(Buster)和 Ubuntu 18.04(Bionic)具有 OpenSSH v7.9 并支持此功能。
  • Debian 9 (Stretch) 和 Ubuntu 16.04 (Xenial) 有 OpenSSH v7.2/v7.4 和不要支持它。

OpenSSH 还具有不同的密钥格式(称为“SSH 证书”),允许嵌入到期日期。但是,证书不能与 PuTTY、WinSCP 或 Bitvise 客户端一起使用 - 它们仅与 OpenSSH 本身(即客户端ssh)兼容。有关此功能的更多文档:https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Certificate-based_Authentication

相关内容