linux - 使用 tee 记录 ssh session 并为用户命令解析文件

标签 linux logging ssh

我需要从客户端记录每个用户的 ssh session 。我正在使用 T 恤来做这个

ssh abc@example.com |发球台 $(whoami).$(date).log

但是,我只想在 ssh session 中记录用户命令并跳过命令的输出。例如:如果用户跟踪了一个大文件,我不想记录整个文件。

我尝试对命令提示符进行 grep 并将输出重定向到另一个文件。

ssh abc@example.com | tee >(cat 日志文件) | grep "CMD_PROMPT_PATTTERN">> $(whoami).$(date).log

但如果用户更改命令提示符,这将不起作用。

我想知道是否有办法从文本文件中 grep 查找 linux 命令。

一些相关背景: 我读过其他帖子,建议在 ssh 周围添加一个包装器来进行日志记录。 但在这种情况下,用户可以通过 ssh 从 example.com 连接到另一台主机(例如 example2.com),我们还需要从起始主机记录在这里执行的命令。我也尝试过击键记录器,但无法区分不同用户执行的命令。

对于实现日志记录的任何其他建议,我将不胜感激。

最佳答案

为什么不 tail -f 用户的 .bash_history ? (或者他们使用什么外壳),但首先你需要设置“在线”写入它 export PROMPT_COMMAND='history -a'

关于linux - 使用 tee 记录 ssh session 并为用户命令解析文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35169270/

相关文章:

linux - 合并多个 ls 结果 Linux

android - 任何人都可以确认我的后台进程与前台进程的示例吗?

c++ - CPack 具有自己依赖项的多个包

javascript - Log4j2 路由附加器 JavaScript 配置错误

linux - 无法控制 acer V3 (LINUX) 上的亮度

android - 有什么方法可以增加 Android 系统日志文件的大小?

sql - golang正则表达式获取日志文件中的sql语句

unix - ffmpeg 未知输入格式 : 'lavfi'

linux - SSH/SCP 驱动器的内核模块

python - 使用远程容器Python解释器的PyCharm远程调试