Назад | Перейти на главную страницу

sshd_config ограничение / отключение мультиплексирования

Задний план:

ssh (клиент) позволяет повторно использовать активные соединения через мультиплексирование ControlPaths ...

Host *
ControlMaster auto
ControlPath /home/username/.ssh/%r@%h:%p

TL; DR - первое соединение будет аутентифицироваться, как и любое другое, последующие соединения будут использовать путь управления и не будут выполнять никакой дополнительной аутентификации.

Теперь мой вопрос; Можно ли ограничить использование таких подключений на стороне сервера? в файле sshd_config.

MaxSessions не работает, несмотря на значение 1. Я могу подключаться к хосту столько раз, сколько нужно, через то же исходное соединение.

Установка на 0, конечно, просто полностью отключила удаленный вход.

Теперь мой вопрос; Можно ли ограничить использование таких подключений на стороне сервера? в файле sshd_config.

Да, MaxSessions делает именно что вы описываете, если вы не используете глючный сервер. Отключает мультиплексирование сеансов.

MaxSessions не работает, несмотря на установку 1, я могу подключаться к хосту столько раз, сколько нужно, через то же исходное соединение

Если вы хотите открыть больше сеансов, вам нужно открыть больше подключений. Но это не то, что вы задаете в заголовке вопроса. но в любом случае, как описано в Unix, ты можешь использовать /etc/security/limits.conf:

 foo-user           -       maxlogins       1

Поскольку я трачу больше времени на ваш вопрос, я могу думать, что у вас в голове есть вариант ControlPersist, который позволяет открывать и закрывать одну сессию за одно соединение (но вы, наверное, забыли об этом упомянуть). Если это вас беспокоит, нет способа запретить это с помощью чистого ssh. Вам, вероятно, понадобится ForceCommand скрипт, который сделает это за вас.