Permitir el inicio de sesión con contraseña SSH en la red local

Permitir el inicio de sesión con contraseña SSH en la red local

Tengo un servidor doméstico que ejecuta Fedora 16 y me gustaría poder acceder de forma remota a través de SSH. Para los usuarios con acceso sudo, solo se les debe permitir conectarse desde la WAN con una clave, pero quiero permitirles conectarse con una contraseña desde la red local.

Aquí está mi sshd_config:

#Logging
SyslogFacility AUTHPRIV

#Allow the two types of ssh groups
AllowGroups ssh_key_users ssh_pass_users
PermitRootLogin no

#Accept environment variables - these come from the fedora default config
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

#Other options
X11Forwarding yes
GSSAPICleanupCredentials yes
#Set up sftp subsytem
Subsystem       sftp    /usr/libexec/openssh/sftp-server

#Just as a default, we'll change it per network and group
PasswordAuthentication no

#Re-enable password access for the local network
Match Address 192.168.1.0/24 Group ssh_key_users
PasswordAuthentication yes

#Settings for users which can login by password (non-sudoers)
Match Group ssh_pass_users
PasswordAuthentication yes
ChrootDirectory %h

Lo divertido es que esto funciona perfectamente cuando lo ejecuto sshd -d -p 4000para ponerlo en modo de depuración y probarlo, pero intento iniciar sesión con una contraseña cuando ejecuto sshd a través de systemctl falla.

Como ha sido la mayoría de los problemas al configurar esta máquina, creo que SELinux es el culpable. Aquí está el mensaje de error de audit.log

type=USER_AUTH msg=audit(1345320824.824:123275): 
pid=0 uid=0 auid=4294967295 ses=4294967295 
subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 
msg='op=password acct="chockey" exe="/usr/sbin/sshd" 
hostname=? addr=192.168.1.201 terminal=ssh res=failed'

Si apago SELinux temporalmente, funciona. Si uso audit2why en este mensaje, no da ningún resultado. Si intento utilizar audit2allow en este mensaje, genera 3 nuevas líneas, pero nada más. Quizás lo estoy usando mal, pero esto es lo que hice:

$ tail -n 1 /var/log/audit/audit.log > error.txt
$ audit2why -i error.txt
$ audit2allow -i error.txt


$ 

¿Alguien se ha encontrado con esto antes? ¿Vale la pena dejar SELinux activado?

información relacionada