温馨提示×

Debian SecureCRT如何进行命令历史记录

小樊
59
2025-04-15 22:52:20
栏目: 智能运维

在Debian系统中,SecureCRT本身并不直接管理命令历史记录,但你可以通过配置SSH服务器来记录命令历史。以下是通过rsyslog在Debian系统上记录SSH命令历史的方法:

操作目的

将主机的SSH命令记录通过rsyslog转存到日志服务器中。

操作步骤

  1. 备份配置文件
  • 备份 /etc/rsyslog.conf(低版本主机可能为 /etc/syslog.conf)。
  1. 修改 /etc/profile
  • /etc/profile 中加入以下配置:
export HISTTIMEFORMAT=",%Y-%m-%d %H:%M:%S,`who am i 2>/dev/null| \
awk '{print $NF}'|sed -e 's/[()]//g'`,"
export PROMPT_COMMAND='\
if [ -z "$OLD_PWD" ];then
    export OLD_PWD=$PWD;
fi;
if [ !-z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ];then
    logger -t shell_cmd -p local4.info "{HOSTIP=$HOSTIP \
    USER=`whoami`,PWD=$OLD_PWD,HISTORY=$(history 1)}";
fi ;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;'
export HOSTIP="$(/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk \
'{print $2}'|tr -d "addr:"|sort|head -n 1)";

第一条配置的作用是格式化history命令的执行文本格式。格式化后history命令执行结果如下图所示,第三条命令是获取主机ip,以便将ip写入脚本中。第二条配置的左右则是如果检测到有命令执行,则将命令记录到rsyslog服务的 local4.info日志中。

  1. 修改 /etc/rsyslog.conf
  • /etc/rsyslog.conf 中添加以下配置:
local4.info @133.***.28:514

该配置的主要作用为将 local4.info 中的日志通过udp的方式将主机发送到我们的日志中转机器上以便采集。

  1. 应用配置
  • source /etc/profile 和重启rsyslog服务。

回退方案

  • 将修改的配置文件删除,同时将备份的文件恢复,source /etc/profile 和重启rsyslog服务即可。

以上步骤可以帮助你在Debian系统上通过rsyslog记录SSH命令历史,从而方便后续的审计和追踪。

0