linux查看ssh命令日志
linux查看ssh命令日志详细介绍
在 Linux 系统中,查看 SSH 相关日志(包括登录记录和命令执行记录)可通过以下方式实现:
一、查看 SSH 登录日志(默认开启)
SSH 登录成功 / 失败记录通常存放在 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS),可通过以下命令过滤:
1. 查看所有 SSH 相关日志
bash
/var/log/auth.log/var/log/secure
2. 按时间过滤(示例:近 1 小时的登录记录)
bash
/var/log/auth.log
3. 区分成功 / 失败登录
- 成功登录(含用户、IP、时间):bash
/var/log/auth.log - 失败登录(含暴力破解尝试):bash
/var/log/auth.log
二、查看 SSH 执行的命令(需手动开启)
SSH 默认不记录用户执行的命令,需通过 PAM 模块或 审计工具配置:
方法 1:通过 PAM 记录命令(推荐)
- 创建日志目录并授权:bash
/var/log/ssh_commands/var/log/ssh_commands
- 编辑 SSH PAM 配置:bash
/etc/pam.d/sshd在文件末尾添加(注意换行):ini
session required pam_limits.so
%u:用户名,%h:客户端 IP,%t:时间戳
- 重启 SSH 服务生效:bash
systemctl restart sshd - 查看命令日志(示例):bash
/var/log/ssh_commands/user-192.168.1.100-1712345678.log
方法 2:使用审计工具(如 auditd)
bash
auditctl exit,always b64 execve /usr/bin/ssh ssh_commandsausearch ssh_commands
三、常见日志字段说明
| 字段 | 说明 |
|---|---|
sshd[1234] |
SSH 服务进程 ID |
Accepted |
登录成功(密码 / 密钥认证) |
Failed |
登录失败(密码错误 / 无权限) |
Disconnected |
会话断开(正常 / 异常) |
port 50000 |
客户端随机端口号 |
注意事项
- 日志文件需
root权限读取(使用sudo)。 - 不同 Linux 发行版日志路径可能不同(如 Ubuntu 用
/var/log/auth.log,CentOS 7 及以上用/var/log/secure)。 - 命令记录功能需提前配置,历史命令无法追溯,仅对配置后生效的会话有效。
根据需求选择对应方法,登录日志用于安全审计,命令记录用于操作追溯。