测量每个用户在Linux上的SSH服务器端连接使用的带宽

我希望能够测量每个用户的入站ssh连接使用的带宽,到一个linux的盒子。

我使用iptables和用户匹配来衡量大多数其他stream量,但入站ssh套接字似乎是由root拥有,所以我不能在这里使用这种方法。

可悲的是,我认为你将会追逐你自己的尾巴。 套接字由root拥有…因为sshd以root身份运行。 用户不会build立,直到用户通过身份validation…但由于连接永远不会closures,套接字仍由root拥有。 事实上,尝试做套接字ID和当前用户之间的某种反向匹配的短…我不知道你会怎么做到这一点。 我已经看到自定义黑客直接进入openssh src,添加一些stream量会计级别…但他们是高度具体的版本,我怀疑你会看到一个有史以来它进入标准的存储库。

我发现一个事实上的会计黑客例子。 我质疑它的可靠性和准确性……但总比没有好。 基本上,它依赖于你的auth.log报告用户的连接状态。 (即连接/断开)并连续运行。 不幸的是,tail之间的更新限制最less为1-2秒…并且在监视auth.log时存在一定的误差。 (特别是在对数旋转期间)

http://newspaint.wordpress.com/2011/08/02/ssh-traffic-accounting-on-linux/