Если клиент не выполняет команду (например, с -N) в течение некоторого периода времени (1-2 секунды) после установления соединения SSH, я хотел бы завершить его с сервера.
К сожалению, ForceCommand
и authorized_keys
Команды с префиксом не выполняются при запуске с -N
, но клиенты все еще могут запросить удаленную пересылку (-R
) связывание портов на вашем сервере.
Я бы хотел предотвратить этот сценарий, но с префиксом ключей no-port-forwarding
не вариант, потому что если они запускают команду, которую я хочу разрешить перенаправление портов. В этом случае моя принудительная команда выполняется, и я могу выполнить проверку, чтобы убедиться, что она разрешена.
Мой единственный вариант - иметь внешний монитор процесса sshd
экземпляры и проверьте, есть ли у них дочерние процессы (например, оболочка или выполняемая команда)?
Если ты так говоришь -N
работает всегда, тогда нет другого выбора, кроме внешнего мониторинга процессов дочерних элементов sshd. Я проверил страницу руководства для sshd_config и не нашел ни одного варианта, который бы вам помог. Также не указано, если -N
должен работать с ForceCommand
или не.