sshd_config ограничение / отключение мультиплексирования
Фон:
ssh (клиент) позволяет повторно использовать активные соединения через мультиплексирование ControlPaths ...
Host *
ControlMaster auto
ControlPath /home/username/.ssh/%r@%h:%p
TL;DR - первое соединение будет аутентифицироваться, как и любое другое, последующие соединения будут использовать путь управления и не будут выполнять никакой дополнительной аутентификации.
Теперь мой вопрос; Можно ли ограничить использование таких соединений на стороне сервера? в sshd_config.
MaxSessions не работает, несмотря на установку 1. Я могу подключаться к хосту столько раз, сколько требуется через одно и то же исходное соединение.
Установка в 0, конечно, просто полностью отключила удаленный вход.
1 ответ
Теперь мой вопрос; Можно ли ограничить использование таких соединений на стороне сервера? в sshd_config.
Да, MaxSessions
делает именно то , что вы описываете, если вы не используете глючный сервер. Отключает мультиплексирование сессий.
MaxSessions не работает, несмотря на установку 1. Я могу подключаться к хосту столько раз, сколько требуется через одно и то же исходное соединение.
Если вы хотите открыть больше сеансов, вам нужно открыть больше соединений. Но это не то, что вы спрашиваете в заголовке вопроса. но в любом случае, как описано в Unix, вы можете использовать /etc/security/limits.conf
:
foo-user - maxlogins 1
Поскольку я провожу больше времени с вашим вопросом, я могу подумать, что у вас снова есть вариант ControlPersist
, что позволяет открывать и закрывать одну сессию во время одного соединения (но вы, вероятно, забыли об этом упомянуть). Если это ваша проблема, нет способа запретить это с помощью чистого SSH. Возможно, вам понадобится немного ForceCommand
сценарий, чтобы справиться с этим для вас.