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 сценарий, чтобы справиться с этим для вас.

Другие вопросы по тегам