如何调整OpenSSH日志级别并记录详细的身份验证行为

酷杰姑娘_5821

酷杰姑娘_5821

2026-03-28

370人浏览

原创

应将sshd的loglevel设为verbose以记录详细身份验证行为,包括密钥指纹、认证方式及成败详情,并确保rsyslog或journald正确接收日志,同时启用pubkeyauthentication、passwordauthentication和usepam等选项以完整捕获各类认证事件。

如何调整openssh日志级别并记录详细的身份验证行为

要调整 OpenSSH 日志级别并记录详细的身份验证行为,关键在于修改 sshd 的配置(/etc/ssh/sshd_config),配合系统日志服务(如 rsyslog 或 systemd-journald)确保日志能被正确捕获和保留。

设置合适的 LogLevel

LogLevel 控制 sshd 输出日志的详细程度。默认通常是 INFO,但身份验证细节(如失败原因、密钥指纹、认证方式尝试顺序)需更高级别:

  • VERBOSE:记录每次公钥认证的密钥指纹、键盘交互认证步骤、成功/失败的用户名与来源 IP;比 INFO 多出关键调试信息,适合常规审计。
  • DEBUG、DEBUG1~DEBUG3:逐级增加内部协议交互细节(如加密协商、通道建立),仅用于故障排查,不建议长期启用,存在性能开销与隐私泄露风险(如临时密钥、内存内容片段)。

在 /etc/ssh/sshd_config 中添加或修改:

LogLevel VERBOSE

确保日志输出到可靠位置

OpenSSH 本身不写文件,而是将日志发给系统日志服务。需确认:

  • sshd 进程启动时使用了 -E 参数(少见)或依赖 syslog;绝大多数发行版默认走 syslog。
  • rsyslog(常见于 CentOS/RHEL/Debian)中,/etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 应包含类似规则:
auth,authpriv.* /var/log/auth.log

对于使用 systemd-journald 的系统(如较新 Ubuntu、Fedora),可用以下命令实时查看认证日志:

journalctl -u ssh -f

若需持久化 journal 日志,请确保 /etc/systemd/journald.conf 中设置了:

Storage=persistent

启用关键认证相关日志选项

仅调高 LogLevel 不够,还需开启具体行为记录:

  • PubkeyAuthentication yes(默认开启):确保公钥认证日志可被记录;关闭则不会记录 pubkey 相关尝试。
  • PasswordAuthentication yes 或 ChallengeResponseAuthentication yes:对应密码或 PAM 认证行为才会被记录。
  • UsePAM yes(推荐开启):使 PAM 模块(如 pam_faildelay.so、pam_tally2.so)也能生成日志,增强失败登录追踪能力。

验证与排查日志是否生效

修改配置后必须重载服务,并主动测试:

  • 运行 sudo systemctl reload sshd(或 restart)使配置生效。
  • 用另一台机器尝试一次失败登录(如输错密码)、一次成功登录(带公钥),再检查日志:
sudo tail -n 20 /var/log/auth.log

应看到类似条目:

sshd[12345]: Failed password for invalid user admin from 192.168.1.100 port 54322 ssh2
sshd[12346]: Accepted publickey for alice from 192.168.1.100 port 54324 ssh2: RSA SHA256:AbC...xyz

若无输出,检查 sshd -T | grep loglevel 确认配置已加载,再查 rsyslog 是否运行、磁盘空间是否充足、SELinux/AppArmor 是否拦截日志写入。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3990

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3413

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2573

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6250

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5902

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3433

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2945

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3159

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习