有没有什么方法可以记录 Linux 机器上所有远程 SSH 客户端的活动并定期通过电子邮件发送给他们?
答案1
这有点取决于您的实际使用情况。如果您的用户不可信,您应该考虑撤销他们的访问权限。
一个基本的技巧就是看,.bash_history
但那是完全不可靠的。
一个经典的工具是script
它可用于记录交互式会话、每个击键、每个退格键和命令的输出。
更为合理的是适当的审计,例如auditd
。
如果你只感兴趣的是特权sudo
会话的设置loginput
和logoutput
调查sudoreplay
答案2
首先,您可能希望所有 SSH 会话都具有,PROMPT_COMMAND='history -a'
以便每个命令都保留到历史记录中。然后,您可能希望一个 cron 作业跟踪$X
bash 历史记录的最后一行并将其传送到mail
。
这太糟糕了,我打出这些字后变得更糟糕了。我现在要用肥皂清洗我的键盘。
这并非万无一失,也不是一种审计工具。它可以以多种方式被破坏、篡改和修改。YMMV。我不同意。