背景:我们为用户部署了大约 500 个 Linux(Ununtu 20.04)资源。我们使用 sssd 进行身份验证,ID 提供商是 AD。我们通过在 sshd_config 中配置 AllowUsers 允许每个用户仅通过 ssh 访问他们的系统。在我之前的管理员还配置了 root 和 ansible 用户进行远程访问。他们为 root 和 ansible 用户设置了 ssh 密钥。
问题:我不喜欢他们目前以 root 身份通过 ssh 访问系统以获得任何形式的支持。我在 AD 中设置了一个组:admingroup,并将管理员的用户名添加到该组,以便他们可以使用自己的帐户登录系统。我也在 sshd_conf 中定义了 AllowGroups admingroup。
我遇到的问题是,AllowUsers 中定义的最终用户不是 AllowGroup 中定义的管理员组的一部分。这最终阻止了所有 ssh 访问。
据我所知,如果我定义 AllowUsers 和 AllowGroups,则所述用户名需要属于管理员组。否则,没有人可以 ssh 访问系统。我的理解正确吗?
如果是,那么我该如何为管理员添加对我的所有 Linux 资源的 ssh 访问权限,同时仍然只允许分配了资源的单个用户通过 ssh 访问它。
任何帮助/指导都将不胜感激。
答案1
好的,当我问出这个问题时,我遇到了一些解决这个确切场景的帖子。
在 sshd_config 中,注释掉 AllowUsers 和 AllowGroups 行,并在配置的最末尾(非常重要,它在最后)添加以下内容并重新启动 sshd 服务
Match Group <group name>
AllowUsers <end user>