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远程端口,以防有什么问题导致无法远程
相关推荐
程序开发阿元5 小时前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh
分布式存储与RustFS8 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
真好啊又活了一天8 小时前
服务器和虚机配置IPV6
运维·服务器·github
zixu_star9 小时前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
AR-26710-9 小时前
Linux Day33——定时任务+lvm
linux·运维
润滑卫士10 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算
运维
布莱克60510 小时前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克60510 小时前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
每月一号准时摆烂12 小时前
服务器运维笔记(一)——使用shell编写实时查看BMC功率的脚本
运维·服务器·笔记
时间售卖铺13 小时前
Chrony与SSH实战:精准时间同步与安全远程登录
运维·安全·云原生·ssh