Active-Directory

Windows Server 2019 - OpenSSH(AD 身份驗證和權限)

  • July 9, 2021

我剛剛在域環境中的 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 中玩過,AllowGroupDenyGroup它不起作用(如果有的話,我設法以某種方式阻止了 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 允許該組)。

引用自:https://serverfault.com/questions/961714