我正在寻找一种简洁的方式来集中管理用户。设置:
- 大约10-30台Linux机器(Ubuntu 10.04 LTS服务器)
- 目前可能有 10 至 30 个用户。
要求(希望和期望):
管理员可以在一个地方管理用户帐户、密码以及每个用户可以访问的机器列表。(可能还有群组。)不必太花哨。
SSH 的单点登录:用户应该能够从机器 A 登录到机器 B,而无需重新输入密码。
快速谷歌搜索让我找到了 OpenLDAP 和 Kerberos,但我不确定从哪里开始,以及每个解决方案实际上能解决什么问题。该往哪边走?我很想找到一个清除专注于此主题的教程。(或者:我问的是“错误的问题”吗?)
答案1
Google 已将您引向正确的方向。理想情况下,您需要使用 LDAP 进行集中用户管理,并使用 Kerberos 来增加安全性和 SSO。
LDAP 本身可以实现集中式用户管理,但用户仍然需要对所连接的每个服务重新进行身份验证。这时 Kerberos 就可以派上用场了,它会向客户端发出一张票据,在用户通过身份验证后,该票据将授予用户访问其他服务的权限。
对于 Kerberos,您需要一个稳定的同步时间源。因此,我将首先正确设置 NTP、DHCP 和 DNS。然后配置您的客户端工作站以从 DHCP 获取其 NTP。一旦您知道您有一个稳定的时间源,您就可以设置 LDAP 和 Kerberos 服务器来提供必要的目录服务以将其整合在一起。
答案2
我发现自旋锁指南非常适合此目的;我曾使用它们为大约 30 名开发人员的开发办公室设置带有 ssh 票证转发的 SSO 环境。这涉及许多不同的组件,管理起来有些困难 - 您需要一个像 Apache 的 Directory Studio 这样的优质 LDAP 客户端来进行用户维护。
如果您的企业中某个地方有 Active Directory,那么 Likewise(Google 搜索 Likewise Open,serverfault 不允许我发布多个链接)现在有一个值得一看的 SSO 解决方案的开源版本。它还支持 ssh 票证转发。