在我们的团队中,我们有三名经验丰富的 Linux 系统管理员,他们必须管理几十台 Debian 服务器。以前我们都以 root 身份使用 SSH 公钥身份验证。但是我们讨论了该场景的最佳实践是什么,但未能就任何事情达成一致。
每个人的 SSH 公钥都放在 ~root/.ssh/authorized_keys2
- 优点:简单易用,SSH代理转发很容易,开销小
- 缺点:缺少审计(你永远不知道哪个“根”做了改变),更容易发生意外
使用个性化帐户和sudo
这样我们就可以使用 SSH 公钥使用个性化帐户登录,并使用sudo以root权限执行单个任务。此外,我们可以给自己一个允许我们查看日志文件的“adm”组。
- 优点:良好的审计,sudo防止我们太容易做愚蠢的事情
- 缺点:SSH 代理转发中断,这很麻烦,因为非 root 用户几乎无法完成任何事情
使用多个 UID 0 用户
这是一位系统管理员提出的非常独特的建议。他建议在 /etc/passwd 中创建三个用户,它们都具有 UID 0 但登录名不同。他声称这实际上并没有被禁止,并允许每个人的 UID 为 0 但仍然能够进行审计。
- 优点:SSH 代理转发有效,审计可能有效(未经测试),没有sudo麻烦
- 缺点:感觉很脏——无法在任何地方找到它作为允许方式的记录
你有什么建议?