![sshd_config 中允许来自多个 c 类范围的用户](https://linux22.com/image/11897/sshd_config%20%E4%B8%AD%E5%85%81%E8%AE%B8%E6%9D%A5%E8%87%AA%E5%A4%9A%E4%B8%AA%20c%20%E7%B1%BB%E8%8C%83%E5%9B%B4%E7%9A%84%E7%94%A8%E6%88%B7.png)
有更好(更短)的方法来做到这一点吗?
AllowUsers [email protected].* [email protected].* [email protected].*
类似的东西...
AllowUsers [email protected]/178/179.*
答案1
手册页说您可以以 cidr (addr/len) 格式写入地址。例子:
AllowUsers [email protected]/22
请注意,这不适用于“不一致”地址(其中掩码之外的位不全为 0,例如192.168.177.0/22
)或混合使用 addr/len 和通配符(例如192.168.176.*/22
)。
答案2
AllowUsers
支持带有通配符的模式和 CIDR 地址。但我无法让它们同时工作,而且这些模式也没有多大帮助,因为可用的通配符是?
and *
,但不是[789]
。
因此,自动生成规则可能是最简单的:
for i in {177..179}; do echo "AllowUsers [email protected].$i.*" ; done
文档中没有说明,但多AllowUsers
行似乎可以正常工作。
或者,在这种情况下,您可以使用类似以下内容的方法:
AllowUsers [email protected]/22
DenyUsers [email protected]/24
或者
AllowUsers [email protected]/24,[email protected]/22