2

Когда я подключаюсь к своему серверу (RasPI 2 с Raspbian) удаленно, я хочу, чтобы мои интерактивные сеансы SSH всегда имели приоритет над любыми запущенными сеансами SFTP. Кроме того, сеансы SFTP должны иметь меньший приоритет, чем, например, трафик SMB в локальной сети.

Сервер находится за маршрутизатором dd-wrt, по очереди подключенным к кабельному модему с пропускной способностью восходящей линии связи 5 Мбит / с.

Я понимаю, что должен использовать iptables чтобы пометить исходящие пакеты для разных классов, и tc чтобы поместить их в разные классы. Но как я могу сказать iptables отличить пакеты SSH от пакетов SFTP и пометить их по-разному? В приведенном выше сценарии они поступают с одного и того же порта, имя процесса совпадает (sshd), пользователь совпадает, а также IP-адрес назначения.

Демон sshd использует свой внутренний SFTP-сервер для использования функции ChrootDirectory .

1 ответ1

1

Нет, это невозможно при такой настройке. sftp является подсистемой sshd а команды sftp просто инкапсулированы в протокол ssh , который на стороне сервера имеет процесс, называемый sftp-server а не bash , что является обычным для обычных сессий ssh.

Можно было бы запустить другой экземпляр службы sshd с подсистемой sftp на другом порту, который затем можно просто дифференцировать в iptables по порту. Вы можете даже сделать другую службу sftp-only для sftp, установив ForcedCommand /path/to/sftp-server чтобы он не принимал обычные ssh-сессии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .