Ich habe ein Problem unter CentOS 6.7, bei dem SSH-Anmeldungen 1s mehr sind als bei Nicht-6.7-Computern in diesem Netzwerk (z. B. 7.2, 5.11). Das Ausführen des Debuggens auf der Clientseite zeigte den Hang bei "Eingabe einer interaktiven Sitzung".
Der Befehl, auf den ich diesen Test time ssh <host> true
stütze, stammt von meinem Laptop und verwendet SSH-Schlüssel.
Die beiden Dinge, die ich bereits überprüft / geändert habe, sind UseDNS
und GSSAPIAuthentication
und beide sind deaktiviert.
Ich habe einen separaten Daemon an einem anderen Port mit aktiviertem Debugging gestartet und festgestellt, wo der kurze Hang auftritt:
debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
SELinux ist auf "zulässig" eingestellt. Ich bin mir nicht sicher, warum es überhaupt darum geht, "Kontexte zu setzen". Gibt es eine Möglichkeit, diese beiden besser miteinander auszukommen, ohne SELinux vollständig zu deaktivieren? Mir ist klar, dass 1s nicht viel ist, aber ich verwende diesen bestimmten Computer als SSH-Gateway für Hosts mit IP-Whitelists (dies ist ein statischer IP-Computer) und er summiert sich im Laufe des Tages.
Nach dem Laufen einer Strace ist der Hang etwas körniger:
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>
Das Schreiben /selinux/user
dauert allein 350 ms.
Update 1 - Dinge, die ich seitdem versucht habe :
- Aktualisierung. Viele der Boxen mussten aktualisiert werden. Dies hat keine wesentlichen Auswirkungen auf die Anmeldezeiten.
semodule -d unconfined
- Dies hat sich positiv ausgewirkt und die Anmeldezeiten um ca. 500 ms verkürzt. Meine C7- und C5.11-Boxen (die ich seitdem (wieder) gelernt habe, haben SELinux deaktiviert) haben jedoch einen Durchschnitt von ~ 525 ms- Vergleich meiner C6.7-Maschinen - Es stellt sich heraus, dass die 64-Bit-Boxen schneller sind als meine 32-Bit-Boxen. Vielleicht ist dies für einige ein "duh" -Moment, aber da keine dieser Boxen besonders besteuert wird, hatte ich keine Abweichung von 100-300 ms erwartet. Ich konnte die 1s-Marke (850 ms) auf einem der 64-Bit-Hosts überschreiten. Das niedrigste auf 32bit war 1.085s
Frage ich zu viel Ist 10-1200 ms eine akzeptable Anmeldezeit für selinux-zulässige Maschinen? Neugierig, was die Benchmarks anderer Leute sind.
messages
odersecure
strace
und sehen, an welchem Anruf es hängt.