You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否配置sshd为特定用户提升日志级别至verbose,其余用户保持Error?

当然可以实现!

完全可以通过OpenSSH的Match指令来实现同一端口下,针对特定用户/组区分日志级别的需求——这正是Match块的核心用途之一,能让你对不同连接对象应用差异化配置。

具体配置步骤:

  1. 编辑sshd主配置文件
    打开你的sshd配置文件(通常是/etc/ssh/sshd_config,不同系统可能路径略有差异):

    sudo nano /etc/ssh/sshd_config
    
  2. 设置全局默认日志级别
    先在配置文件上方设置全局的日志级别为ERROR,这样所有用户默认只会记录错误级别的日志(正好符合你不需要记录网络元素SFTP连接日志的需求):

    LogLevel ERROR
    
  3. 添加Match块针对管理员用户/组提升日志级别
    在配置文件的最末尾添加Match块(注意:Match块之后的所有配置都会仅应用于匹配对象,所以必须放在最后):

    • 如果是针对管理员用户组(比如你的管理员都在admin组):
      Match Group admin
          LogLevel VERBOSE
      
    • 如果是针对单个或多个特定管理员用户(比如alice和bob):
      Match User alice,bob
          LogLevel VERBOSE
      
  4. 重启sshd服务使配置生效
    根据你的系统初始化方式执行重启命令:

    • Systemd系统(如Ubuntu 16.04+、CentOS 7+):
      sudo systemctl restart sshd
      
    • SysVinit系统(如老版本CentOS、Debian):
      sudo service ssh restart
      

关键注意事项:

  • Match块必须放在配置文件最后:一旦遇到Match,后续所有配置都属于该匹配规则,直到下一个Match或文件结束,所以别把它放在全局配置前面。
  • 验证匹配规则:确保你的管理员用户确实属于指定的组,或者用户名拼写正确,可以用id <username>命令查看用户所属组。
  • 日志路径:不同系统的SSH日志位置不同,常见的是/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(RHEL/CentOS),你可以通过这些日志验证配置是否生效。

效果验证:

  • 用管理员用户登录SSH/SFTP:日志中会出现VERBOSE级别的详细信息,比如登录源IP、认证方式、会话细节等。
  • 用网络元素的SFTP用户登录:日志只会记录ERROR级别的内容(比如登录失败、连接异常关闭等),不会产生大量无关的传输日志。

内容的提问来源于stack exchange,提问作者Odihase

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:20:55