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

Можно ли убить SSH-соединения, которые не запускают команду (например, с -N)

Если клиент не выполняет команду (например, с -N) в течение некоторого периода времени (1-2 секунды) после установления соединения SSH, я хотел бы завершить его с сервера.

К сожалению, ForceCommand и authorized_keysКоманды с префиксом не выполняются при запуске с -N, но клиенты все еще могут запросить удаленную пересылку (-R) связывание портов на вашем сервере.

Я бы хотел предотвратить этот сценарий, но с префиксом ключей no-port-forwarding не вариант, потому что если они запускают команду, которую я хочу разрешить перенаправление портов. В этом случае моя принудительная команда выполняется, и я могу выполнить проверку, чтобы убедиться, что она разрешена.

Мой единственный вариант - иметь внешний монитор процесса sshd экземпляры и проверьте, есть ли у них дочерние процессы (например, оболочка или выполняемая команда)?

Если ты так говоришь -N работает всегда, тогда нет другого выбора, кроме внешнего мониторинга процессов дочерних элементов sshd. Я проверил страницу руководства для sshd_config и не нашел ни одного варианта, который бы вам помог. Также не указано, если -N должен работать с ForceCommand или не.