基于算法的 SSH 身份验证

基于算法的 SSH 身份验证

我正在研究我们公司服务器访问的可能解决方案。公司分布着 Linux 服务器,一些服务器最终拥有公共 IP 访问权限,而其他服务器则隔离在私有网络上。问题在于控制我们的通过 SSH 访问这些服务器。(客户端无权访问)

我们公司的工程师需要访问这些服务器以进行维护等。但是,如果工程师离开公司,我们需要一种方法来阻止他们访问这些服务器。

标准密钥对并不是一个真正的选择,因为我们无法在每次工程师离职或入职时绕过数千台私人网络服务器来删除和添加密钥对。密码也是如此。通过 IP 限制访问不是一个现实的选择,因为需要根据客户端网络策略从不同的来源访问服务。

这让我想到了某种形式的动态 SSH 身份验证,比如在 REST 应用程序中使用 HMAC。基本上,工程师访问中央服务器,该服务器根据签名生成一组凭证,这些凭证在特定服务器上有效期为任意秒。这样,当工程师离开公司时,我们就可以撤销他们对中央签名生成服务器的访问权限。

有人能看出这种方法有问题吗?类似的东西已经存在了吗?还是我必须写这个?

答案1

恭喜,您刚刚发明了 Kerberos :) Kerberos 与票证系统配合使用,客户端使用用户名和密码从 Kerberos 密钥分发中心请求票证授予票证 (TGT)。然后,客户端可以使用此票证请求可用于登录 SSH 服务器的其他服务票证。

所有管理都在 Kerberos KDC 上集中完成,并且结合 LDAP,您可以控制哪个人可以访问哪些服务器。

相关内容