我刚刚在域环境中的 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 进入服务器?我尝试了AllowGroup
C 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 允许该组)。