Tengo un problema en CentOS 6.7 donde los inicios de sesión SSH son 1s más que cualquier máquina que no sea 6.7 en esta red (por ejemplo, 7.2, 5.11). La ejecución de la depuración en el lado del cliente mostró el bloqueo en "Entrar en la sesión interactiva".
El comando que estoy usando para basar esta prueba es time ssh <host> true
desde mi computadora portátil, usando SSH Keys.
Las dos cosas que ya he verificado / modificado son UseDNS
y GSSAPIAuthentication
, y ambas están deshabilitadas.
Comencé un demonio separado en un puerto diferente con la depuración activada, y descubrí dónde se produce el breve bloqueo:
debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
SELinux está configurado en 'permisivo'. No estoy seguro de por qué incluso se molestaría con "establecer contextos". ¿Hay alguna manera de que estos dos se lleven mejor sin desactivar SELinux por completo? Me doy cuenta de que 1s no es mucho, pero uso esta máquina en particular como una puerta de enlace SSH a hosts con listas blancas de IP (esta es una máquina de IP estática), y se acumula durante todo el día.
Después de ejecutar un strace, el bloqueo es un poco más granular:
22:16:05.445032 open("/selinux/user", O_RDWR|O_LARGEFILE) = 4 <0.000090>
22:16:05.445235 write(4, "unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 unconfined_u", 56) = 56 <0.334742>
22:16:05.780128 read(4, "18\0unconfined_u:system_r:prelink_mask_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:abrt_helper_t:s0-s0:c0.c1023\0unconfined_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_notrans_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_execmem_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_java_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mono_t:s0-s0:c0.c1023\0unconfined_u:system_r:chkpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:passwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:updpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:rssh_t:s0-s0:c0.c1023\0unconfined_u:system_r:xauth_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_t:s0-s0:c0.c1023\0unconfined_u:system_r:openshift_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023\0", 4095) = 929 <0.000079>
Escribir en /selinux/user
toma 350ms solo.
Actualización 1 - Cosas que he probado desde entonces :
- Actualizando Muchas de las cajas requieren actualizaciones. Esto no ha tenido ningún efecto material en los tiempos de inicio de sesión.
semodule -d unconfined
- Esto ha tenido un efecto positivo, reduciendo los tiempos de inicio de sesión en aproximadamente 500 ms. Sin embargo, mis cajas C7 y C5.11 (que he aprendido (re) aprendido tienen SELinux desactivado) promedio ~ 525ms- Comparando mis máquinas C6.7: Resulta que las cajas de 64 bits son más rápidas que mis cajas de 32 bits. Tal vez este sea un momento 'duh' para algunos, pero como ninguna de estas cajas está particularmente gravada, no esperaba una variación de 100-300ms. Pude romper la marca de 1s (850 ms) en uno de los hosts de 64 bits. El más bajo en 32 bits ha sido 1.085s
¿Estoy pidiendo demasiado? ¿Es 10-1200 ms un tiempo de inicio de sesión aceptable para las máquinas con permiso selinux? Curioso sobre los puntos de referencia de otras personas.
messages
osecure
strace
y ver qué llamada está pendiente.