Я хотел бы иметь возможность измерять полосу пропускания, используемую каждым пользователем его входящими ssh-соединениями, в окне Linux.
Я измеряю большую часть другого трафика с помощью iptables и сопоставления пользователей, но входящие сокеты ssh, похоже, принадлежат пользователю root, поэтому я не могу использовать этот подход здесь.
К сожалению, я думаю, ты будешь гоняться за собственным хвостом. Сокет принадлежит root ... потому что sshd работает от root. Пользователь не устанавливается, пока ПОСЛЕ того, как пользователь аутентифицирован ... но поскольку соединение никогда не закрывается, сокет все еще принадлежит пользователю root. Если не считать попытки выполнить какое-то обратное сопоставление между идентификатором сокета и текущим пользователем после факта ... Я не знаю, как вы это сделаете. Я видел пользовательские хаки прямо в openssh src, которые добавляют некоторый уровень учета трафика ... но они сильно зависят от версии, и я сомневаюсь, что вы когда-нибудь увидите, что это попадет в стандартный репозиторий.
Я нашел хакерский пример учета постфактум. Я сомневаюсь в надежности и точности ... но это лучше, чем ничего. По сути, он полагается на ваш auth.log, сообщающий о состояниях подключения пользователей. (т.е. подключает / отключает) и tail
работает постоянно. К сожалению, у tail есть ограничение минимум 1-2 секунды между обновлениями ... и есть предел ошибки, когда дело доходит до мониторинга auth.log. (особенно при повороте журнала)
http://newspaint.wordpress.com/2011/08/02/ssh-traffic-accounting-on-linux/