目前每个服务器都有一个管理员帐户,如果有人想要管理该服务器,他的pubkey将被添加到服务器管理员帐户的ssh authorized_keys中,这样他就可以访问和编辑这个服务器了.但这不是一个好的解决方案:
>每个服务器的ssh端口都不应该向公众开放,这很危险.
>如果一个服务器由具有相同帐户的多个人访问,我们无法确定谁已登录.
>很难删除或撤销某人服务器的ssh密钥.
所以我认为应该有一个更好的解决方案:
>一个集中的ssh审计和管理服务器.
>每个服务器仅允许从此服务器访问ssh端口.
>此服务器可以管理用户帐户,以及每个服务器的访问权限.
>开发人员使用此审计服务器执行服务器操作,应记录所有操作,并在他执行危险操作时提醒其他人.
>如果此服务器已关闭,则有紧急访问解决方案.
如果有人知道这样的解决方案吗?谢谢.
解决方法
Each server’s ssh port should not open to the public,it is dangerous.
事实并非如此,特别是如果您使用密码具有良好的密码短语并且已禁用密码登录(您还没有密码登录).
If one server is accessed by multiple person with the same account,we cannot tell who is logged in.
在您当前的情况下,这是正确的 – 共享帐户不是一件好事.但是,适当的verbose sshd logs你可以看到谁登录时.
It is hard to remove or revoke someone’s ssh key for those server’s.
有一些工具可以实现自动化 – 木偶,厨师,安全等 – 一般的配置管理工具.
>为每个人提供自己的帐户(使用配置管理工具自动化)
>停止使用共享帐户.
>给每个人合适的sudo访问权限.
>使用rsyslog将所有日志发送到中央日志服务器.