Saya mengalami masalah pada CentOS 6.7 di mana login SSH adalah 1s lebih banyak daripada mesin non-6.7 di jaringan ini (mis. 7.2, 5.11). Menjalankan debugging di sisi klien menunjukkan hang di "Memasuki sesi interaktif".
Perintah yang saya gunakan untuk mendasarkan tes ini adalah time ssh <host> true
dari laptop saya, menggunakan SSH Keys.
Dua hal yang sudah saya periksa / modifikasi adalah UseDNS
dan GSSAPIAuthentication
, dan keduanya dinonaktifkan.
Saya memulai daemon terpisah pada port yang berbeda dengan debugging aktif, dan telah menemukan di mana hang pendek terjadi:
debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
SELinux diatur ke 'permisif'. Saya tidak yakin mengapa itu akan mengganggu dengan "pengaturan konteks". Apakah ada cara untuk membuat keduanya rukun lebih baik tanpa menonaktifkan SELinux sama sekali? Saya menyadari 1s tidak banyak, tetapi saya menggunakan mesin khusus ini sebagai gateway SSH ke host dengan daftar putih IP (ini adalah mesin IP statis), dan ia bertambah sepanjang hari.
Setelah menjalankan strace, hang sedikit lebih 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>
Menulis untuk /selinux/user
mengambil 350 ms saja.
Pembaruan 1 - Hal-hal yang saya coba sejak :
- Memperbarui. Banyak kotak membutuhkan pembaruan. Ini tidak memiliki efek material pada waktu masuk.
semodule -d unconfined
- Ini memiliki efek positif, mengurangi waktu login sekitar 500 ms. Namun, kotak C7 dan C5.11 saya (yang telah saya pelajari sejak saat itu telah SELinux dinonaktifkan) rata-rata ~ 525ms- Membandingkan mesin C6.7 saya - Ternyata kotak 64bit lebih cepat daripada kotak 32-bit saya. Mungkin ini adalah momen 'duh' untuk beberapa orang, tetapi karena tidak ada satu pun dari kotak ini yang dikenakan pajak, saya tidak mengharapkan varian 100-300ms. Saya dapat mematahkan tanda 1s (850ms) pada salah satu host 64bit. Yang terendah pada 32bit adalah 1,085
Apakah saya terlalu banyak bertanya? Apakah 10-1200ms merupakan waktu masuk yang dapat diterima untuk mesin selinux permisif? Ingin tahu apa tolok ukur orang lain.
messages
atausecure
strace
dan melihat panggilan apa yang digunakan .