SSH - 1 с зависают при «Входе в интерактивный сеанс» (не DNS; возможно, связано с SELinux)

У меня проблема с CentOS 6. 7, где входы по SSH на 1 с больше, чем любые машины, не использующие версию 6.7, в этой сети (например, 7.2, 5.11). Выполнение отладки на стороне клиента показало зависание в «Входе в интерактивный сеанс».

Команда, которую я использую для создания этого теста, - это time ssh true с моего ноутбука с использованием ключей SSH .

Две вещи, которые я уже проверил / изменил, - это UseDNS и GSSAPIAuthentication , и оба они отключены.

Я запустил отдельный демон на другом порту с отладкой on, и выяснили, где происходит короткое зависание:

debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context

{1s hang}

debug3: ssh_selinux_setup_exec_context: done

SELinux установлен на «разрешающий». Я не уверен, зачем вообще нужно беспокоиться о «настройке контекстов». Есть ли способ улучшить отношения этих двоих без полного отключения SELinux? Я понимаю, что 1 это не так уж и много, но я использую эту конкретную машину в качестве шлюза SSH для хостов с белыми списками IP (это статическая машина IP), и она складывается в течение дня.

После запуска strace зависает немного более детально:

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>

Запись в / selinux / user занимает только 350 мс.

Обновление 1 - Что я с тех пор пробовал :

  • Обновление. Многие коробки требовали обновлений. Это не оказало существенного влияния на время входа в систему.
  • semodule -d unlimited - Это дало положительный эффект, уменьшив время входа в систему примерно на 500 мс. Однако мои коробки C7 и C5.11 (которые я с тех пор (повторно) узнал, имеют отключенный SELinux) в среднем ~ 525 мс
  • Сравнение моих машин C6.7 - Оказывается, 64-битные коробки быстрее, чем мои 32-битные. Может быть, для кого-то настал момент, но поскольку ни одна из этих коробок не облагается особо налогами, Я не ожидал отклонения в 100–300 мс. Мне удалось преодолеть отметку в 1 с (850 мс) на одном из 64-битных хостов. Самый низкий показатель на 32-битной версии - 1.085s

Я прошу слишком многого? Является ли 10-1200 мс приемлемым временем входа в систему для компьютеров с разрешением selinux? Любопытно, каковы показатели других людей.

9
задан 18 January 2016 в 06:19
1 ответ

Это может быть не связано, но о медлительности, связанной с selinux, сообщалось для учетных записей на основе IPA здесь: https://access.redhat.com/discussions/3499951

решение для этого случая:

Я просмотрел форумы пользователей SSSD и IPA, и поскольку мои системы не используют SELINUX, я пошел дальше и добавил это в раздел домена в sssd конфигурация:

 selinux_provider = none
 

После этого процесс входа выполняется немедленно, как и ожидалось.

1
ответ дан 2 December 2019 в 22:37

Теги

Похожие вопросы