我在从 sshd 配置的匹配组语句中排除用户时遇到问题。
我已经有这样声明的用户排除
Match Group sftpusergroup User *,!"sftp_user"
这只有在我将用户放入“”后才开始工作,我怀疑这是因为用户名上的 _ 。
现在我需要将第二个用户添加到此排除中,但是当我这样做时,所有用户在尝试连接到服务器时都会收到以下错误
16:23:56 错误:网络错误:连接被拒绝
16:23:56 错误:无法连接到服务器
我使用添加了第二个排除项
Match Group sftpusergroup User *,!"sftp_user",!"sftp_user_2"
还尝试用
Match Group sftpusergroup User *,!"sftp_user",!sftp_user_2
但总是得到相同的结果。以前有人经历过这种行为吗?
答案1
我以前没有见过这种行为,但看看man ssh_config
我懂了:
模式列表是以逗号分隔的模式列表。模式列表中的模式可以通过在它们前面加上感叹号(“!”)来否定。例如,要允许从组织内除“拨号”池之外的任何位置使用密钥,可以使用以下条目(在authorized_keys中):
来自=”!.dialup.example.com,.example.com”
也许这会起作用:
Match Group sftpusergroup User "*,!sftp_user,!sftp_user_2"
将整个用户列表放在引号中。