La directiva Match en ssh
los archivos de configuración admite la negación. Pero parece que negar condiciones sshd_config
es un poco complicado: hay que escribir
Match User="!root,*"
tener directivas posteriores aplicadas a todos los usuarios excepto root.
Aquí está la documentación relevante: de man sshd_config
:
Match Introduce un bloque condicional.
...
Los patrones de coincidencia pueden consistir en entradas individuales o listas separadas por comas y pueden usar los comodines y los operadores de negación descritos en la sección PATRONES de ssh_config (5).
Y de man ssh_config
:
PATRONES
Un patrón consta de cero o más caracteres que no son espacios en blanco, '*' (un comodín que coincide con cero o más caracteres) o '?' (un comodín que coincide exactamente con un personaje).
...
Tenga en cuenta que una coincidencia negada nunca producirá un resultado positivo por sí mismo.
Por ejemplo, intentar hacer coincidir "host3" con la siguiente lista de patrones fallará:
from="!host1,!host2"
La solución aquí es incluir un término que produzca una coincidencia positiva, como un comodín:
from="!host1,!host2,*"
Sugerencia encontrada en este artículo en Red Hat Customer Portal.