Windows Server 2019 - OpenSSH(AD 身份验证和权限)

Windows Server 2019 - OpenSSH(AD 身份验证和权限)

我刚刚在域环境中的 Windows Server 2019 上安装了 OpenSSH Server,我注意到默认情况下,几乎每个用户都可以通过 SSH 连接到服务器。就好像 AD 身份验证正在运行(因为我可以使用域帐户/密码通过 SSH 登录服务器),但权限未应用,甚至未验证。

基本上,假设我有 2 个用户,normalUser 和 adminUser。normalUser 不属于任何允许他访问 WS2019SERVER 的 AD 组,但 ​​adminUser 属于。那么,这两个用户都可以通过 SSH 毫无问题地登录到服务器。

如果我通过 SSH 登录并执行“whoami /groups”,这就是我得到的结果(如果它有帮助的话)。

普通用户:

Group Name                                                              Type             SID                                             Attributes
======================================================================= ================ =============================================== ===============================================================
Everyone                                                                Well-known group S-1-1-0                                         Mandatory group, Enabled by default, Enabled group
BUILTIN\Users                                                           Alias            S-1-5-32-545                                    Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\NETWORK                                                    Well-known group S-1-5-2                                         Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users                                        Well-known group S-1-5-11                                        Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization                                          Well-known group S-1-5-15                                        Mandatory group, Enabled by default, Enabled group

管理员用户:

Group Name                                                           Type             SID                                             Attributes
==================================================================== ================ =============================================== ===============================================================
Everyone                                                             Well-known group S-1-1-0                                         Mandatory group, Enabled by default, Enabled group
BUILTIN\Users                                                        Alias            S-1-5-32-545                                    Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators                                               Alias            S-1-5-32-544                                    Mandatory group, Enabled by default, Enabled group, Group owner
BUILTIN\Event Log Readers                                            Alias            S-1-5-32-573                                    Mandatory group, Enabled by default, Enabled group

如何防止 normalUser 通过 SSH 进入服务器?我尝试了AllowGroupC DenyGroup:\ProgramData\ssh\sshd_config,但不起作用(如果有的话,我设法以某种方式阻止了 adminUser,但没有阻止 normalUser?!)。

谢谢你,

光环

答案1

在这里找到了解决方案:

https://github.com/MicrosoftDocs/windowsserverdocs/issues/2119

基本上,我补充道:

允许组 DOMAIN\ALLOWED_GROUP

到 C:\ProgramData\ssh\sshd_config

而且它成功了。一开始它没起作用的原因是因为我混合使用了 AllowGroups、DenyGroups、AllowUsers 和 DenyUsers。但 AllowGroups 只允许属于所列组的用户进行 SSH 访问。无需处理 DenyGroups 或 DenyUsers 中的所有其他用户(例如:DenyUsers DOMAIN*,然后通过 AllowGroups DOMAIN\ALLOWED_GROUP 允许该组)。

相关内容