从 SSH 上的匹配组中排除用户

从 SSH 上的匹配组中排除用户

我在从 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"

将整个用户列表放在引号中。

相关内容