Tôi đang gặp sự cố trên CentOS 6.7 trong đó thông tin đăng nhập SSH nhiều hơn bất kỳ máy nào không có 6.7 trên mạng này (ví dụ 7.2, 5.11). Chạy gỡ lỗi ở phía máy khách cho thấy tình trạng treo ở "Bước vào phiên tương tác".
Lệnh tôi đang sử dụng để dựa trên bài kiểm tra này là time ssh <host> true
từ máy tính xách tay của tôi, sử dụng Khóa SSH.
Hai điều tôi đã kiểm tra / sửa đổi được UseDNS
và GSSAPIAuthentication
, và cả hai đều là người tàn tật.
Tôi đã bắt đầu một trình nền riêng biệt trên một cổng khác với gỡ lỗi và đã tìm thấy nơi xảy ra tình trạng treo ngắn:
debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context
{1s hang}
debug3: ssh_selinux_setup_exec_context: done
SELinux được đặt thành 'cho phép'. Tôi không chắc tại sao nó thậm chí còn bận tâm với "bối cảnh thiết lập". Có cách nào để hai người này hòa hợp với nhau hơn mà không vô hiệu hóa hoàn toàn SELinux không? Tôi nhận ra số 1 không nhiều, nhưng tôi sử dụng máy cụ thể này làm cổng SSH để lưu trữ với danh sách trắng IP (đây là máy IP tĩnh) và nó hoạt động suốt cả ngày.
Sau khi chạy một bước, hang bị chi tiết hơn một chút:
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>
Viết để /selinux/user
mất 350ms một mình.
Cập nhật 1 - Những điều tôi đã thử :
- Đang cập nhật. Nhiều trong số các hộp yêu cầu cập nhật. Điều này đã không có bất kỳ hiệu ứng vật chất về thời gian đăng nhập.
semodule -d unconfined
- Điều này đã có tác động tích cực, giảm thời gian đăng nhập khoảng 500ms. Tuy nhiên, các hộp C7 và C5.11 của tôi (mà tôi đã học được (đã) bị vô hiệu hóa) trung bình ~ 525ms- So sánh các máy C6.7 của tôi - Hóa ra các hộp 64 bit nhanh hơn các hộp 32 bit của tôi. Có thể đây là một khoảnh khắc 'duh' đối với một số người, nhưng vì không có hộp nào trong số này bị đánh thuế đặc biệt, tôi không mong đợi mức chênh lệch 100-300ms. Tôi đã có thể phá vỡ mốc 1s (850ms) trên một trong những máy chủ 64 bit. Thấp nhất trên 32 bit đã là 1.085
Tôi có hỏi quá nhiều không? 10-1200ms có phải là thời gian đăng nhập chấp nhận được cho các máy cho phép selinux không? Tò mò những điểm chuẩn của người khác là gì.
messages
hoặcsecure
strace
và xem nó được gọi là gì.