我有一台服务器,其中有多个用户,每个用户都有多个授权的 SSH 密钥。有没有有效的方法(命令行实用程序?)来跟踪哪个密钥属于谁,并快速删除/添加密钥(除了 ssh-copy-id)?
答案1
您可以使用每行的最后一部分来.ssh/authorized_keys
发表评论。来自man sshd
:
协议 1 公钥由以下空格分隔的字段组成:选项、位、指数、模数、注释。协议 2 公钥由以下字段组成:选项、密钥类型、base64 编码密钥、注释。
为了回答这个问题,我使用vim
任何编辑器都可以。
我的评论通常包含:
- 创建日期
- 物理位置:创建计算机/USB 记忆棒(我宁愿不移动私钥,而是生成/撤销它们并知道它们在哪里)
- 1-2 个词描述目的(用于哪个登录、用于哪个客户端、用于哪个脚本)
答案2
我会查看猴子球项目。它使用 OpenPGP 的信任网络概念来管理 ssh 的 authorized_keys 和 known_hosts 文件,而无需更改 ssh 客户端或服务器。
答案3
还有ssh-import-id
,它可以安全地从Launchpad.net。
答案4
巴斯蒂利昂 -https://www.bastillion.io
用户根据分配给他们的配置文件管理自己的 SSH 密钥。