
Tengo un sshd_config
archivo que está configurado para no permitir que los usuarios del grupo nologin
ingresen ssh
a este servidor ( DenyGroups nologin
). Si bien tengo varios usuarios en este grupo, quiero anular esto para uno de los usuarios (llamemos al usuario greg
).
Intenté agregar algo AllowUsers greg
al sshd_config
archivo, pero no pareció funcionar. ¿Es posible hacer esto?
El sshd_config se parece a:
AllowTcpForwarding no
ClientAliveCountMax 1
ClientAliveInterval 300
LoginGraceTime 1m
PermitRootLogin no
Protocol 2
RSAAuthentication no
Subsystem sftp /usr/libexec/openssh/sftp-server
UsePAM yes
X11Forwarding yes
DenyGroups nologin
LogLevel INFO
MaxAuthTries 4
IgnoreRhosts yes
HostBasedAuthentication no
PermitEmptyPasswords no
PermitUserEnvironment no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
Agregar "AllowUsers greg" (greg es miembro del grupo de inicio de sesión) no permite que greg realice ssh.
Respuesta1
La página del manual sshd_config(5)
describe el comportamiento de estas opciones de esta manera:
Si se especifica,El inicio de sesión está permitido/no permitido solo para usuarios/grupos cuyo grupo principal o lista o nombre de grupo suplementario coincida con uno de los patrones.Sólo los nombres de los grupos son válidos; no se reconoce un ID de grupo numérico. De forma predeterminada, se permite el inicio de sesión para todos los grupos. Las directivas de permitir/denegar se procesan en el siguiente orden:Denegar usuarios,Permitir usuarios,Denegar grupos, y finalmentePermitir grupos.
Esto da a entender que si define sólo estas dos opciones,deberíatrabajo para ti. Probablemente utilice otras opciones que interfieran con su configuración. ¿Puedes publicar la configuración completa que estás usando?
Respuesta2
Me parece sencillo, simplemente elimínelo greg
del nologin
grupo.
Respuesta3
No puedes hacer eso de esta manera, ya quetodoLas directivas se evalúan antes de sshd
tomar una decisión final. Por lo tanto, aunque greg
está permitido por AllowUsers
, lo niega más adelante DenyGroups
el grupo en el que se encuentra. El manual es algo inespecífico aquí, porque no menciona que todas las directivas se evalúan en el orden descrito por Jakuje, así que probé esto en OpenSSH. 5.2p1 en un sistema de repuesto. De hecho, el orden de evaluación debería ser al revés (primero permitir/denegar grupos, luego permitir/denegar usuarios). Eso tendría mucho más sentido, al menos para mí.