【问题标题】:sshd_config AllowUserssshd_config 允许用户
【发布时间】:2013-01-23 13:32:00
【问题描述】:

我正在为 AllowUsers 指令尝试一个非常具体的配置,它遵循以下逻辑:

  • 允许 user1 从 host1 ssh
  • 拒绝 user1 从任何其他主机 ssh
  • 允许来自任何主机的所有其他用户

我尝试了以下方法:

AllowUsers user1@host1 user1@!* *@*

不幸的是,当 @ 出现时,它会否定前面的参数并且不管顺序是什么。

我有两个问题; AllowUsers 指令中的参数是否有执行顺序?上面的逻辑是否可能?

【问题讨论】:

    标签: sshd


    【解决方案1】:

    sshd_config man表示处理顺序为:

    允许/拒绝指令按以下顺序处理:DenyUsers、AllowUsers、DenyGroups,最后是 AllowGroups。

    所以如果“user1”也有自己的组“user1”你可以使用这个配置:

    AllowUsers *@host1
    DenyGroups user1
    AllowGroups *
    

    另一种选择是使用否定:

    DenyUsers user1@!host1
    AllowUsers *@*
    

    【讨论】:

    • 请注意。 AllowUsers 语句中使用 user@host 表示法中的同一用户的多个条目可能会导致后续条目不被评估。输入单独的 AllowUsers 语句更可靠,每个语句都有自己的 user@host 条目。我在 Ubuntu 16.04 中特别注意到了这种行为。
    【解决方案2】:

    仅使用一个 sshd 实例无法实现上述逻辑。但是,如果您运行第二个 sshd 实例(配置为侦听不同的端口),这是可能的。

    配置第一个实例:

    DenyUsers user1
    

    配置第二个实例:

    AllowUsers user1@host1
    

    告诉 user1 连接到第二个实例(不同的端口)。告诉所有其他用户连接到第一个实例(默认端口)。

    【讨论】:

      【解决方案3】:

      注意:您还可以通过使用 SSH PAM CONFIG(推荐用于大量用户)或 TCP Wrappers 来允许或拒绝 ssh 访问,但您需要获取 libwrap.a 库才能使其与 SSH 一起使用。

      如果您想通过 SSHD CONFIG 限制访问,您可以使用以下四个条目:

      允许用户 允许组 拒绝用户 拒绝组

      模式匹配按以下顺序进行:DenyUsers、AllowUsers、DenyGroups、AllowGroups。这意味着,例如,如果您将用户添加到两个条目(AllowUsers 和 DenyUsers),无论规则在配置脚本中出现的顺序如何,都会导致该用户被拒绝。

      要完成您提到的 3 个限制,您可以尝试创建一个组 sshgroup 并配置除 user1 之外的每个用户帐户以包含在该组中。最后,您可以创建一个脚本,将 sshgroup 中的用户添加到 sshd_config 文件中的规则中,该规则始终包括:

      允许用户 user1@host1

      导致:

      允许用户 user1@host1 user2 user3...

      为了使 sshd 配置文件保持最新,您可以在每次创建/删除用户时调用该脚本。每次更改配置文件后不要忘记重新启动 ssh 守护进程。

      Here你可以找到一个脚本“pop_user_allow_ssh”,它也在尝试生成一个用户列表。

      您没有提及您的操作系统,但这是我在 AIX 上所做的。我希望这个想法有所帮助。

      【讨论】:

        【解决方案4】:
        # Deny user1 from all hosts but host1
        DenyUsers user1@!host1,*
        # Allow all users from any host that are not denied yet
        AllowUsers *@*
        

        【讨论】:

        • 请尝试用解释来回答这两个问题。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-05
        • 2010-11-11
        • 1970-01-01
        • 2015-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多