远程主机上的 BASH shell 会话日志记录

远程主机上的 BASH shell 会话日志记录

将 BASH shell 会话记录到主机上的文件的最佳方法是什么?

首选输出格式相当于 PuTTY 的“可打印输出”日志设置,用户可以看到包括输入但不包括 ncurses 控制字符数据。

答案1

也许值得看看 shell 或系统审计程序,例如根什或者苏多什

答案2

你可以开始gnu 屏幕并使用日志功能。我不知道有什么可以给你一个非常好的日志ncurses像 top 这样的应用程序。

男人屏幕

log [on|off]

Start/stop writing output of the current window to a file "screenlog.n"
in the window's default directory, where n is the number of the current
window. This filename can be changed with the `logfile' command. ...

logfile filename
logfile flush secs

Defines the name the log files will get. The default is "screenlog.%n".
The  second  form changes the number of seconds screen will wait before
flushing the logfile buffer to the file-system. The default value is 10
seconds.

答案3

TTYrec 可能是最简单的解决方案。您可以使用原始版本:

http://0xcc.net/ttyrec/index.html.en

或者自己动手:

http://en.wikipedia.org/wiki/Ttyrec

或者,你可以把所有旧式命令都放到 tee command.timestamp.tee

答案4

我不确定你在这里到底想实现什么。这是用于培训还是取证?如果你想要一些可以生成可读性好的日志文件的东西,那么你可能运气不佳。如果你希望能够回放会话,那么 ttyrec 就是你想要的。你可以将其作为登录脚本的一部分运行以捕获用户的会话,但请确保使用“trap”来阻止用户退出 ttyrec 并返回到 shell。

相关内容