实时监控传入的 SSH 会话

实时监控传入的 SSH 会话

是否有任何 Linux 软件可以监控传入的 ssh 会话。在以前的工作中,我被告知,如果您需要 Red Hat 的支持,例如,您可以让他们通过 SSH 进入您的机器,然后您就可以观察他们在做什么。

我处于类似的情况,我想通过 ssh 进入我朋友的机器来帮助他,但我希望他能够出于教育目的观察我所做的事情,并确保我不会做任何恶意的事情。

有什么建议么?

谢谢

答案1

GNU Screen 有这个功能,你可以允许特定的 shell 用户只能通过 screen 进行操作。

https://www.linux.com/training-tutorials/using-screen-remote-interaction/

答案2

我认为屏幕就是您想要的,但如果您不想坐在那里观看,并且想要“录制”用户会话,您可以查看 sudo shell。

如果您将此设置为用户的 shell,您就可以完整地记录所发生的一切,并且可以“重播”它,并在需要时观看它。

唯一可能的缺点是日志可能会变得非常大,例如,如果他们运行类似的命令find /,你也会记录所有内容 - 所以你可能必须选择为哪些帐户启用它,而不是全局执行。

至于允许供应商登录访问,这可能是完美的,因为您可以对他们所做的一切进行完整的审计跟踪,所有内容(甚至是退格)都会被记录并存储以供重播。

log_output是 sudoers 的录音机选项,也是sudoreplay(8)您的播放器。

根据sudoers手册页:

log_output:如果设置,sudo 将在伪 tty 中运行命令并记录发送到屏幕的所有输出,类似于 script(1) 命令。如果由于 I/O 重定向或由于命令是管道的一部分,标准输出或标准错误未连接到用户的 tty,则该输出也会被捕获并存储在单独的日志文件中。

在 sudoers 文件中,你可以输入如下内容:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

或者基于组的日志记录

Defaults:%shellusers log_output

http://www.gratisoft.us/sudo/sudoers.man.html了解详情。

答案3

答案4

您可以使用脚本命令。在要监视其 ssh 会话的用户的 .login 或 .profile 中创建一行。当他登录时,会生成一个脚本/日志,其中包含他的 I/O,为您提供运行的命令和这些命令的输出。实时情况下,您只需跟踪脚本并实时观察用户的操作即可。

无法粘贴供您参考的链接,但您可以直接在 Google 上搜索命令“脚本”,即可获得参考。

相关内容