Существует ли ограничение на количество пользовательских записей в AllowUsers, которые можно указать в файле конфигурации sshd _в Linux?

Значение log_buf_lenустанавливается раз и навсегда при настройке и сборке ядра ИЛИ при загрузке с параметромlog_buf_len=NNN:после этого изменить его нельзя. sysctlобычно относится к вещам, которые вы можете изменить в работающем ядре :, вероятно, поэтому log_buf_lenне включен.

Вы можете найти сконфигурированное значение LOG_BUF_SHIFT, просто просмотрев файл конфигурации ядра (, предполагая, что он доступен ). Например, в моей системе Fedora 29 я делаю

$ grep CONFIG_LOG_BUF_SHIFT /boot/config-5.2.11-100.fc29.x86_64 
CONFIG_LOG_BUF_SHIFT=18

log_buf_lenравно 2^18, тогда , ЕСЛИ не было установлено через командную строку загрузки.

Если это так (или если у вас нет доступа к конфигурационному файлу ), то единственный известный мне способ — это использовать gdbдля проверки работающего ядра, но я этого не сделал. делал это много лет, и я действительно не могу вспомнить все шаги -основная трудность заключается в том, чтобы получить отладочные символы для ядра, на котором вы работаете. Тем не менее, кто-то другой должен будет предоставить эти инструкции (или, возможно, предоставить более простой метод; например. можно написать модуль ядра, который выводит значение при загрузке -существует множество руководств по написанию простых модулей ядра, например. здесь:этот учебник восходит к временам ядра 2.6, и сегодня все может быть по-другому, но я (наивно? )не ждите, что все будет совсем по-другому ).

2
18.12.2020, 12:42
3 ответа

Большое спасибо тем, кто разместил здесь свои материалы:)

Я обновил свой OpenSSH, и ограничение, упомянутое в моем вопросе, больше не является проблемой.

Я следил за приведенными ниже блогами, чтобы завершить обновление OpenSSH и устранить неполадки. Я делал это на Amazon Linux. Однако я считаю, что это должно работать и на Centos.

https://www.tecmint.com/install-openssh-server-from-source-in-linux/

https://blog.jonkimi.com/2020/04/17/Upgrade-openssh-server-on-Ubuntu/

http://blog.chinaunix.net/uid-28813320-id-5786956.html

0
18.03.2021, 22:48

Я читаю исходный код openssh -8.4p1 и не вижу никаких ограничений, наложенных на AllowUsers. Пожалуйста, попробуйте установить эту версию и сообщите, помогло вам это или нет. Вы можете установить его в /usr/localи заставить прослушивать другой порт, так что вам не нужно возиться со своим старым sshd.

1
18.03.2021, 22:48

Просматривая более старую версию ssh, например 7.4 , мы видим сообщение об ошибке в servconf.cфункции загрузки _сервера _конфигурации , где максимальная строка длина 4096 байт.

Однако, глядя на обработку AllowUsersстрок в том же файле, можно предположить, что вы можете просто добавить больше строк того же типа. Например

AllowUsers user4@ipaddress/n user5@ipaddress
AllowUsers user6@ipaddress/n user7@ipaddress

Обратите внимание, что массив для хранения записей имеет фиксированный размер MAX_ALLOW_USERS, т. е. 256 записей в этой версии. Чтобы обойти это ограничение, вы можете использовать строки Matchдля добавления дополнительных пользователей.

2
18.03.2021, 22:48

Теги

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