您如何管理SSH密钥?


15

我有一台服务器,有多个用户,每个用户都有多个授权的SSH密钥。有什么有效的方法(命令行实用程序?)来跟踪哪个密钥属于谁并快速删除/添加密钥(除ssh-copy-id之外)?


1
shell脚本可以轻松地从日志中跟踪登录时间并处理.ssh中的文件...我知道这不是您要查找的内容,因此它不是注释,而是答案
RobotHumans 2011年

1
请使用每行的最后部分.ssh/authorized_keys供注释(来自man sshd:“协议1公钥由以下空格分隔的字段组成:选项,位,指数,模数,注释。协议2公钥由以下内容组成:选项,密钥类型, base64编码的密钥,注释。”)。为了回答这个问题,我使用vim但任何编辑器都应该这样做。
shellholic 2011年

当然,如果每个用户确实都有单独的用户帐户,只要所有条目都在每个人的主文件夹中(或者实际上在.ssh / authorized_keys中,但无论如何),就没有问题。
Olli

@shellholic,您有一个不错的答案。发布它以便可以将其标记为:)
djeikyb

@djeikyb好的,完成,但是我应该完成一点
shellholic 2011年

Answers:


3

您可以使用每行的最后一部分.ssh/authorized_keys作为注释。来自man sshd

协议1公钥包含以下空格分隔的字段:选项,位,指数,模数,注释。协议2公钥包含:选项,密钥类型,base64编码的密钥,注释。

为了回答这个问题,我使用vim但任何编辑器都应该这样做。

我的评论通常包含:

  • 创立日期
  • 物理位置:创建计算机/ U盘(我不喜欢移动私钥,而是生成/吊销它们并知道它们在哪里)
  • 关于目的的1-2个字(针对哪个登录名,针对哪个客户端,针对哪个脚本)

3

我要结帐Monkeysphere项目。它使用OpenPGP的信任网络概念来管理ssh的authorized_keys和known_hosts文件,而无需更改ssh客户端或服务器。



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.