我需要从客户端登录每个用户的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命令。
一些相关的背景: 我已阅读其他帖子,建议在ssh周围添加一个包装来进行日志记录。 但在这种情况下,用户可以从example.com ssh到另一台主机(例如example2.com),我们也需要记录从这里执行的命令。我也尝试过按键记录器,但没有办法区分不同用户执行的命令。
我很感激有任何其他建议来实施日志记录。
答案 0 :(得分:0)
为什么不tail -f
用户的.bash_history? (或者他们使用的是什么shell),但是首先你需要设置“在线”写作export PROMPT_COMMAND='history -a'