使用SendEnv记录从不同SSH连接发出的命令

问题描述

  • 场景:具有2个用户的许多服务器Linux Centos 6/7:norootroot。 需要像history那样,对SSH bash会话中发出的命令保持最低限度的跟踪,而又不向该服务器添加更多用户。客户是可定制的。

  • 想法: 由于修改SSH客户端没有问题,因此主要思想在于利用SSH的SendEnv功能将变量$GIT_NAME发送到服务器,该变量先前在打开本地bash shell {{ 1}}。 这使我不必每次都想跟踪时就向每个服务器添加新用户。这样,我就在~/.bashrc中设置了导出 跟踪此变量.bashrc标识的每个“用户”的最佳选择是什么?

  • 主要方法: 我的主要方法是使用./bashrc中的$GIT_NAME命令和

    history

    为什么这样?好吧,我无法使其同时写入PROMPT_COMMAND=history -a $GIT_NAME.history ; echo $(head -n1 ~/.$GIT_NAME.history) >> .bash_history~/.bash_history。它不起作用,我正为此苦苦挣扎。我可以将历史记录缓冲区附加到已标识的缓冲区,但不能附加到~/$GIT_NAME.history

  • 理想情况下,我将键入.bash_history,其格式将与此类似: https://www.linuxtechi.com/enable-timestamp-history-command/ ...,但是在收到变量时添加该变量。

想法?真的很感谢您的帮助。

注意:我出于安全考虑而不这样做(我会选择history之类的东西)。这只是为了最小化跟踪用户auditctl的典型用法中在服务器中所做的工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)