我试图在AllowUsers和AllowGroups专用debian7服务器上修改/etc/ssh/sshd_config 。 但是,我似乎无法同时合作。
testuser的用户。 该用户位于一个名为ssh-users的组中:
$ groups testuser testuser : testuser ssh-users
testuser试图通过ssh testuser@<server_ip>并input密码。
sshd_config可以在这里find: http : //pastebin.com/iZvVDFKL – 我认为基本上我从默认的唯一变化是:
PermitRootLogin no AllowUsers添加两个用户(我的服务器上的实际用户名不同) sshd_config后都会运行service ssh restart 。 使用AllowUsers设置时, testuser 可以连接:
AllowUsers user1 user2 testuser
为其组设置AllowGroups时, testuser无法连接:
AllowUsers user1 user2 AllowGroups ssh-users
导致Permission denied, please try again. 当testuser在ssh密码提示符中input密码时。
AllowUsers是否会覆盖AllowGroups ? AllowUsers ? 理想情况下,我希望能够将用户添加到ssh-users组中,而不必再次触摸sshd_config 。 是的, AllowUsers先于AllowGroups 。 如果指定,则只有与AllowUsers指定的模式匹配的用户AllowUsers可以连接到SSHD实例。
根据sshd_config 页 :
allow / deny指令按以下顺序处理:
DenyUsers,AllowUsers,AllowGroups,最后AllowGroups。
所以,对于你的问题的解决scheme可能是使用一个或另一个,如果组是你的首选pipe理用户的方式,可能是组访问指令。
杰夫的答案涵盖了详细的问题的具体问题,但我发现这个问题看起来在稍微不同的情况下使用AllowUsers和AllowGroups 。 我想限制传入连接到来自特定子网的组(ssh)中的用户。
sshd_config中的连接规则是一个filter – 随着每个附加规则的应用,可接受用户的集合只能被减less。 ssh_config(5)中的PATTERNS解释了这些规则的forms。
另外,根据sshd_config的AllowUsers部分:
如果模式采用USER @ HOSTforms,则分别检查USER和HOST,限制来自特定主机的特定用户的login。 HOST标准还可以包含地址以匹配CIDR地址/ masklen格式。
AllowGroups不接受USER @ HOST的forms。
所以,接受用户1)在ssh组和2)从特定的子网/主机:
AllowUsers *@192.168.1.0/24 *@*.example.com *@1.2.3.4 AllowGroups ssh