要求
- ssh-jailed 访问限制所有组,但允许一组。
login to VM-GP324911 for users in GP324911, deny others.
login to VM-GP9e68e for users in GP9e68ea, deny others.
login to VM-GPea7899 for users in GPea7899, deny others.
In some cases, an user can be in Group - GP324911 and GP9e68ea or others,
access or login should work based on group assigned to that VM.
通过 GPO,允许多个 AD 组通过 ssh 登录到多个 RHEL 虚拟机。我们想要进一步限制的是 - 只允许一个 AD 组并禁止其他组。
但是,如果用户属于两个或多个组,则仅允许登录到允许该组的位置。
尝试使用 ssh 匹配组,如下所示 -
Match Group GP324911
PasswordAuthentication yes
PubkeyAuthentication yes
Match Group GP9e68ea,GPea7899,GP2b4f8d,GP77c148,GPfeag5b,GP2g49g5,GPagd759
PasswordAuthentication no
PubkeyAuthentication no
它的工作方式如上
- GP324911、GP9e68ea 的用户部分——允许登录 VM-GP324911 或 VM-GP9e68ea。
两个问题——
- 它停止工作,如果我将允许匹配块移动到拒绝匹配块下方,如下所示,那么它将停止允许组 GP324911 在 VM-GP324911 中进行访问
Match Group GP9e68ea,GPea7899,GP2b4f8d,GP77c148,GPfeag5b,GP2g49g5,GPagd759
PasswordAuthentication no
PubkeyAuthentication no
Match Group GP324911
PasswordAuthentication yes
PubkeyAuthentication yes
- 我们尝试过拒绝组和允许组,但没有成功。任何其他方法都可以做到这一点。
答案1
在里面sshd_配置文件中,每个选项(除了少数与此处无关的例外)仅在第一次看到该选项时应用。如果您有两个匹配部分:
Match something...
PasswordAuthentication yes
Match something else...
PasswordAuthentication no
匹配这两个部分的用户最终会得到该选项的“是”,因为该选项是第一个。
在您的情况下,“匹配组 GP324911”部分似乎应该首先出现,以便这些选项适用于该组中的任何用户:
Match Group GP324911
PasswordAuthentication yes
PubkeyAuthentication yes
之后,如果您愿意,您可以添加“匹配组 GP9e68ea、GPea7899、GP2b4f8d、GP77c148 等”部分,并将选项设置为“否”。或者你可以这样做:
Match all
PasswordAuthentication no
PubkeyAuthentication no
这将匹配每个人,甚至 GP324911 的成员。但这些选项不会应用于 GP324911 成员,因为这些选项已在第一个匹配部分为这些用户设置。