如何将 ssh 命令历史记录保存到文件中

如何将 ssh 命令历史记录保存到文件中

我将允许服务器管理员自由职业者访问我的服务器来为我执行一些任务,因此我想保存将在文件中使用的所有 SSH 命令,以便我稍后可以访问该文件并确保他没有这样做不要在我的服务器上执行任何恶意命令。

我不希望使用命令(history -c)删除此文件中的命令,也不希望通过结束会话来删除该命令。

答案1

您好,为了做到这一点(甚至知道谁正在使用 sudo 以 root 身份执行任何命令),您可以添加到 /etc/rsyslog.conf,local6.* /var/log/commands.log然后重新启动 syslog 服务(它将添加一个名为 local6 的记录器)并添加到 /etc/bashrc以下export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'内容将在使用 sudo 时调用 syslog 服务 local6 来记录两个用户的最后一行历史记录

相关内容