ubuntu22.04 rsyslog分离ssh单独日志文件

仅学习,不建议使用,但在自己私人服务器可以尝试

1.修改ssh配置文件

复制代码
# 备份
cp /etc/ssh/sshd_config /etc/ssh/sshd_config-`date +%F`

# 检查LOCAL占用情况(LOCAL0-6选一个没被使用的)
cat /etc/rsyslog.conf |grep -i LOCAL
cat /etc/rsyslog.d/* |grep -i LOCAL

# 找到SyslogFacility ,修改日志程序类别为自定义类别(这里选用LOCAL1)
vim /etc/ssh/sshd_config

SyslogFacility LOCAL1

注:

  1. rsyslog留给用户的自定义类别只有LOCAL0~LOCAL7,而且有的服务器7默认已占用,所以能用的其实只有0-6

2.修改rsyslog.conf

复制代码
vim /etc/rsyslog.conf

#找到RULE规则区,添加一行
local1.info                                     /var/log/ssh.log

注:

  1. rsyslog配置文件默认在/etc/rsyslog.conf,找不到就执行rpm -qc rsyslog
  2. local1是你在sshd_config配置的自定义类别,info是日志打印级别,ssh.log是打印日志的文件位置(自定义,一般放在/var/log/)
  3. debug调试信息,info是标准信息,warning警告信息,err错误信息,emerg是紧急致命信息,重要性逐级递增日志量逐级减少。

3.日志文件授权

复制代码
# 先查看别的rsyslog打的日志文件是什么权限,就改为一致的,如:
ll /var/log/syslog

#将ssh.log改为一致的属主属组,权限
chown syslog.adm /var/log/ssh.log
chmod 640 /var/log/ssh.log

注:

  1. 如果不改,可能会导致rsyslog没权限给这个日志文件打日志

4.重启rsyslog和ssh,重新加载配置文件

复制代码
systemctl restart rsyslog

systemctl restart sshd

注:

  1. 重启ssh前,建议先开几个ssh远程端口,以防有什么问题导致无法远程
相关推荐
刚入门的大一新生2 小时前
Linux-进程间通信2
linux·运维·服务器
Yana.nice2 小时前
清除密码历史记录,解决pam安全策略密码无法复用问题
运维
海宇服务2 小时前
零信任架构实战:基于海宇风控经营异常预警构建自动化央企物资采购供应商资信排查网关
运维·人工智能·架构·自动化
开开心心就好2 小时前
发票信息录入太麻烦?离线工具一键转表格
运维·服务器·前端·pdf·ocr·maven·intellij-idea
吴声子夜歌3 小时前
Docker入门与实战——热门镜像介绍
运维·docker·容器
方便面不加香菜3 小时前
容器虚拟化基础--CGroups资源控制
运维·docker·容器
山东孙燕姿3 小时前
维修工单的转派与协同:两个人一起上
大数据·运维·服务器·网络·人工智能
AI你一生一世3 小时前
Cloud in a Bottle:把自托管从“运维苦役”变成“可交付的私有云”
运维·部署·状态管理·容器编排·私有云·备份恢复·自托管