[英]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.