要求

要求

要求

  • 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 成员,因为这些选项已在第一个匹配部分为这些用户设置。

相关内容