phe*_*mer 15
您可以使用该last命令来获取此信息
# last|head
phemmer ssh 192.168.0.24 Wed Aug 20 21:08 - 21:08 (00:00)
phemmer pts/13 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh 192.168.0.2 Wed Aug 20 14:00 - 18:43 (04:43)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:08 - 23:08 (00:00)
phemmer ssh ::1 Wed Aug 13 23:07 - 23:07 (00:00)
phemmer pts/15 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer ssh 192.168.0.20 Thu Aug 7 19:00 - 19:00 (00:00)
phemmer :0 Wed Jul 30 20:06 still logged in
reboot system boot 3.13.2-gentoo Wed Jul 30 20:05 still running
Run Code Online (Sandbox Code Playgroud)
毫无疑问,您可以看到,第三列将显示 SSH 登录时的远程 IP 地址。
last使用该/var/log/wtmp文件,因此此方法类似于 G-Man 的答案(只是稍微简单一点,因为您不必指定文件的路径)。
Mic*_*mer 14
这取决于您的发行版或操作系统。sshd将在某处记录每次登录,并将在登录中包含相关的 IP 地址,格式如下:
Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297
Run Code Online (Sandbox Code Playgroud)
这部分是一致的,但你如何到达那里可能会有所不同。在基于 的系统上systemd,使用journalctl:
journalctl /usr/bin/sshd
Run Code Online (Sandbox Code Playgroud)
列出sshd可执行文件中的所有日志消息。您可以针对 root 登录名或其他条件进行搜索,并使用--since和--until(请参阅 参考资料man journalctl)按日期对其进行限制。
或者,从历史上看,消息将(通常)登录到/var/log. 通常sshd消息进入/var/log/auth.log,但确切的文件可能会有很大差异。无论是哪一种:
grep sshd /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)
将为您提供与journalctl版本大致相同的输出。
如果您想审计以 root 身份登录的人,则不应允许人们ssh通过直接以 root 身份登录(使用 root 密码或 中的证书/root/.ssh/authorized_keys)来使用。相反,每个人使用一个帐户,让他们使用sudo以获得 root 权限。通过这种方式,您将在适当的日志中找到消息(日志文件的位置取决于您拥有的发行版,您甚至可以配置日志守护程序将消息发送到另一台机器)user john ran the command 'sudo rm -rf /'。好吧,也许您不会在日志中轻松找到该命令。
| 归档时间: |
|
| 查看次数: |
26378 次 |
| 最近记录: |