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

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

我希望能够测量每个用户通过其入站 ssh 连接进入 Linux 系统所使用的带宽。

我使用 iptables 和用户匹配来测量大多数其他流量,但入站 ssh 套接字似乎归 root 所有,所以我不能在这里使用该方法。

答案1

遗憾的是,我认为您将要自寻死路。套接字归 root 所有...因为 sshd 以 root 身份运行。用户在用户验证后才建立...但由于连接从未关闭,套接字仍归 root 所有。除了事后尝试在套接字 ID 和当前用户之间进行某种反向匹配...我不知道您将如何实现这一点。我曾看到直接进入 openssh src 的自定义黑客程序,它们添加了一定程度的流量会计...但它们高度特定于版本,我怀疑您永远不会看到一个进入标准存储库。

我找到了一个事后记账的黑客式例子。我怀疑它的可靠性和准确性……但总比没有好。基本上,它依赖于您的 auth.log 报告用户的连接状态。(即连接/断开连接)并tail持续运行。不幸的是,tail 的更新间隔至少为 1-2 秒……并且在监控 auth.log 时存在误差范围。(尤其是在日志轮换期间)

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

相关内容