我们有几十台Linux服务器和几个开发人员,每个开发人员都覆盖了部分服务器。
目前每个服务器都有一个pipe理员帐户,如果有人想要pipe理该服务器,他的pubkey将被添加到服务器pipe理员帐户的ssh authorized_keys中,以便他可以访问和编辑该服务器。 但是不是一个好的解决scheme:
所以我觉得应该有一个更好的解决scheme:
如果有人知道这样的解决scheme? 谢谢。
每个服务器的ssh端口不应该向公众开放,这是危险的。
这是不正确的,特别是如果你使用密码良好的通行短语,并已禁用密码login(你没有你)。
如果一个服务器被多个人使用同一个帐户访问,我们不能分辨谁login。
在你目前的情况下,这是正确的 – 共享帐户不是一件好事。 但是,通过适当详细的sshd日志,您可以查看谁login的时间。
这些服务器很难删除或撤销某人的ssh密钥。
有一些工具可以实现自动化 – 傀儡,厨师,等等 – 一般的configurationpipe理工具。
一个解决您的问题的一般办法是
这使您可以logging访问系统的个人用户。 通过适当的教育,您还可以logging个人用户对pipe理帐户的使用情况。
也许检查出Monkeyspere。 它使您能够设置一个中央密钥服务器,您可以在其中撤销用户密钥(将其视为ssh密钥的信任networking)
不要在服务器上为开发人员提供root权限! 使用一些像chef或cfengine3这样的中央pipe理工具,让开发人员编写应用于服务器的模板。 你可以将这些模板推到Git / SVN /无论跟踪更改。
另外,您可以使用VPN访问您的服务器。 你的服务器不需要对全世界开放,也不需要有公共ip。