实时监控传入的SSH会话


21

是否有任何Linux软件来监视传入的ssh会话。在上一份工作中,我被告知,例如,如果您需要Red Hat的支持,则可以让他们通过SSH进入您的计算机,并可以观察它们的运行情况。

我处于类似的情况下,我想潜入朋友的机器中以帮助他,但我希望他能够观看我为教育目的所做的事情,并确保我不会做任何恶意的事情。

有什么建议么?

谢谢


此页面上有一个ObserveIT广告,它们是不错的解决方案,可以尝试SaaSish是否想要的东西。
kagali-san 2011年

Answers:



3

我认为屏幕是您所需要的,但是如果您不想坐在那里看电视,并且想“录制”用户的会话,则可以查看sudo 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


您能否提供更多信息?“ sudo shell”到底是什么意思?我该如何设置用户的外壳?日志将保存在哪里?
GJ。

我已经用一些详细信息更新了我的答案,以进行澄清。
Xerxes 2012年


2

您可以使用脚本命令。在您要监视其ssh会话的用户的.login或.profile中建立一行。当他登录时,会生成一个脚本/他的I / O日志,这使您可以运行命令以及这些命令的输出。您可以实时地尾随脚本,并实时观察用户的操作。

无法粘贴您的参考链接,但是您可以在命令“ script”上用google搜索,您将获得参考。


1

您可以使用kibitz。从手册页引用:

kibitz允许两个(或多个)人与一个shell(或任何任意程序)进行交互。

在Fedora上,它包含在Expect包中。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.