Windows Server 2019 - OpenSSH(AD 身份驗證和權限)
我剛剛在域環境中的 Windows Server 2019 上安裝了 OpenSSH 伺服器,我注意到預設情況下,幾乎每個使用者都可以通過 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 進入伺服器?我在 C:\ProgramData\ssh\sshd_config 中玩過,
AllowGroup
但DenyGroup
它不起作用(如果有的話,我設法以某種方式阻止了 adminUser,但不是 normalUser?!)。謝謝,
光環
在這裡找到解決方案:
https://github.com/MicrosoftDocs/windowsserverdocs/issues/2119
基本上,我補充說:
AllowGroups DOMAIN\ALLOWED_GROUP
到 C:\ProgramData\ssh\sshd_config
它奏效了。一開始它不起作用的原因是因為我在玩混合的 AllowGroups、DenyGroups、AllowUsers 和 DenyUsers。但是 AllowGroups 將只允許屬於列出的組的使用者進行 SSH 訪問。無需處理 DenyGroups 或 DenyUsers 中的所有其他人(例如:DenyUsers DOMAIN*,然後通過 AllowGroups DOMAIN\ALLOWED_GROUP 允許該組)。