繁体   English   中英

使用tee和解析文件记录ssh会话的用户命令

[英]Logging ssh sessions using tee and parsing file for user commands

我需要从客户端登录每个用户的ssh会话。 我正在用发球台来做

ssh abc@example.com | tee $(whoami).$(date).log

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

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

ssh abc@example.com | tee >(cat logfile) | grep "CMD_PROMPT_PATTTERN" >> $(whoami).$(date).log

但是,如果用户更改命令提示符,则此操作将无效。

我想知道是否有一种方法可以从文本文件中为Linux命令进行grep。

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

我将不胜感激任何其他建议来实现日志记录。

为什么不使用tail -f用户的.bash_history? (或使用的是什么shell),但是首先您需要设置“在线”写入状态,并export PROMPT_COMMAND='history -a'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM