A diretiva Match nos arquivos de configuração de ssh
suporta negação. Mas parece que negar condições em sshd_config
é um pouco complicado: você tem que escrever
Match User="!root,*"
para que diretivas subseqüentes sejam aplicadas a todos os usuários, exceto o root.
Aqui está a documentação relevante: de man sshd_config
:
Match Introduces a conditional block.
...
The match patterns may consist of single entries or comma-separated lists and may use the wildcard and negation operators described in the PATTERNS section of ssh_config(5).
E de man ssh_config
:
PATTERNS
A pattern consists of zero or more non-whitespace characters, ‘*’ (a wildcard that matches zero or more characters), or ‘?’ (a wildcard that matches exactly one character).
...
Note that a negated match will never produce a positive result by itself.
For example, attempting to match "host3" against the following pattern-list will fail:from="!host1,!host2"
The solution here is to include a term that will yield a positive match, such as a wildcard:
from="!host1,!host2,*"
Dica encontrada em este artigo no Portal do Cliente Red Hat.