4,SSH 日志

SSH 日志

SSH 在服务器端可以生成日志,记录登录当前服务器的情况。

SSH 日志是写在系统日志当中的,查看的时候需要从系统日志里面找到跟 SSH 相关的记录。

journalctl 命令

如果系统使用 Systemd,可以使用journalctl命令查看日志。

$ journalctl -u ssh

Mar 25 20:25:36 web0 sshd[14144]: Accepted publickey for ubuntu from 10.103.160.144 port 59200 ssh2: RSA SHA256:l/zFNib1vJ+64nxLB4N9KaVhBEMf8arbWGxHQg01SW8
Mar 25 20:25:36 web0 sshd[14144]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 25 20:39:12 web0 sshd[14885]: pam_unix(sshd:session): session closed for user ubuntu
...

上面示例中,返回的日志每一行就是一次登录尝试,按照从早到晚的顺序,其中包含了登录失败的尝试。-u参数是 Unit 单元的意思,-u ssh就是查看 SSH 单元,有的发行版需要写成-u sshd

-b0参数可以查看自从上次登录后的日志。

$ journalctl -t ssh -b0

-r参数表示逆序输出,最新的在前面。

$ journalctl -t ssh -b0 -r

sinceuntil参数可以指定日志的时间范围。

$ journalctl -u ssh --since yesterday # 查看昨天的日志
$ journalctl -u ssh --since -3d --until -2d # 查看三天前的日志
$ journalctl -u ssh --since -1h # 查看上个小时的日志
$ journalctl -u ssh --until "2022-03-12 07:00:00" # 查看截至到某个时间点的日志

下面的命令查看实时日志。

$ journalctl -fu ssh

其他命令

如果系统没有使用 Systemd,可以在/var/log/auth.log文件中找到 sshd 的日志。

$ sudo grep sshd /var/log/auth.log

下面的命令查看最后 500 行里面的 sshd 条目。

$ sudo tail -n 500 /var/log/auth.log | grep sshd

-f参数可以实时跟踪日志。

$ sudo tail -f -n 500 /var/log/auth.log | grep sshd

如果只是想看谁登录了系统,而不是深入查看所有细节,可以使用lastlog命令。

$ lastlog

日志设置

sshd 的配置文件/etc/ssh/sshd_config,可以调整日志级别。

LogLevel VERBOSE

如果为了调试,可以将日志调整为 DEBUG。

 LogLevel DEBUG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sagima_sdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值