Директива Match в ssh
файлах конфигурации России поддерживает отрицание. Но похоже, что отрицание условий в sshd_config
нем немного сложно: вы должны написать
Match User="!root,*"
чтобы последующие директивы применялись ко всем пользователям, кроме root.
Вот соответствующая документация: от man sshd_config
:
Соответствие Вводит условный блок.
...
Шаблоны соответствия могут состоять из отдельных записей или разделенных запятыми списков и могут использовать подстановочные знаки и операторы отрицания, описанные в разделе PATTERNS в ssh_config (5).
И из man ssh_config
:
УЗОРЫ
Шаблон состоит из нуля или более непробельных символов, '*' (подстановочный знак, который соответствует нулю или более символов) или '?' (подстановочный знак, который соответствует ровно одному символу).
...
Обратите внимание, что отрицание совпадения никогда не приведет к положительному результату.
Например, попытка сопоставить «host3» со следующим списком шаблонов не удастся:
from="!host1,!host2"
Решение здесь состоит в том, чтобы включить термин, который приведет к положительному совпадению, такой как подстановочный знак:
from="!host1,!host2,*"
Подсказка, найденная в этой статье на портале для клиентов Red Hat.