我们有几十台 Linux 服务器,还有几个开发人员,每个开发人员都涵盖了服务器的一部分。
目前每台服务器都有一个管理员账号,如果有人想管理那个服务器,他的公钥会被添加到服务器管理员账号的sshauthorized_keys中,这样他就可以访问和编辑这个服务器了。但不是一个好的解决方案:
- 每个服务器的 ssh 端口不应该对公众开放,这是危险的。
- 如果多个人使用同一帐户访问一台服务器,我们无法确定谁登录。
- 很难删除或撤销某人在这些服务器上的 ssh 密钥。
所以我认为应该有更好的解决方案:
- 一台集中式 ssh 审计和管理服务器。
- 每个服务器只允许从该服务器访问 ssh 端口。
- 该服务器可以管理用户帐户,以及每个服务器的访问权限。
- 开发者使用这个审计服务器来做服务器操作,所有的动作都应该被记录下来,并在他做危险的事情时提醒其他人。
- 如果这台服务器宕机,有紧急访问解决方案。
如果有人知道这样的解决方案吗?谢谢。