如何查看VPS登录记录?_四种方法帮你全面监控服务器安全

如何查看VPS的登录记录?

日志文件 查看命令 主要信息 适用系统
/var/log/auth.log sudo cat /var/log/auth.log SSH登录详情、用户认证 Ubuntu/Debian
/var/log/secure sudo cat /var/log/secure 系统安全事件、用户登录 CentOS/RHEL
/var/log/wtmp last 成功登录记录 所有Linux系统
/var/log/btmp lastb 失败登录尝试 所有Linux系统
/var/log/lastlog lastlog 所有用户最后登录 所有Linux系统

如何查看VPS登录记录?四种方法帮你全面监控服务器安全

作为VPS管理员,定期检查登录记录是确保服务器安全的重要措施。通过分析登录日志,可以及时发现异常登录行为,防止未授权访问。

主要查看方法概览

方法 适用场景 优势 操作复杂度
查看系统认证日志 日常安全检查 信息详细,包含完整登录过程 中等
使用last命令 快速查看成功登录 简单直观,显示清晰 简单
使用lastb命令 监控失败登录尝试 发现暴力破解行为 简单
使用lastlog命令 检查所有用户最后登录 全面了解用户活动 简单

分步骤详细操作流程

步骤一:查看系统认证日志

操作说明: 系统认证日志记录了所有用户认证相关的详细信息,包括SSH登录、sudo权限使用等。 使用工具提示
  • 对于Ubuntu/Debian系统,主要查看/var/log/auth.log
  • 对于CentOS/RHEL系统,主要查看/var/log/secure
# Ubuntu/Debian系统
sudo cat /var/log/auth.log | grep -i "accepted"

CentOS/RHEL系统

sudo cat /var/log/secure | grep -i "accepted"

查看最近10条成功的SSH登录记录

sudo tail -n 10 /var/log/auth.log | grep "Accepted"

步骤二:使用last命令查看成功登录记录

操作说明: last命令专门用于显示系统最近的登录记录,包括登录用户、登录时间、来源IP等信息。 使用工具提示
  • 默认显示所有登录记录
  • 可以使用-n参数限制显示条数
  • 可以指定用户名查看特定用户登录记录
# 查看所有登录记录
last

查看最近20条登录记录

last -n 20

查看特定用户的登录记录

last username

以更易读的格式显示

last -F

步骤三:使用lastb命令监控失败登录

操作说明: lastb命令显示失败的登录尝试,这对于发现暴力破解攻击至关重要。 使用工具提示
  • 可能需要root权限
  • 记录包含攻击者IP地址
  • 可以帮助设置防火墙规则
# 查看失败的登录尝试
sudo lastb

查看最近失败的登录并统计次数

sudo lastb | awk '{print $3}' | sort | uniq -c | sort -nr

步骤四:使用lastlog命令检查用户最后登录

操作说明: lastlog命令显示系统中所有用户的最后登录时间,便于发现长期未使用的账户。 使用工具提示
  • 显示所有系统用户的最后登录状态
  • 从未登录的用户会显示"Never logged in"
  • 有助于清理不活跃账户
# 查看所有用户的最后登录时间
lastlog

查看特定时间范围内的登录情况

lastlog -t 7 # 显示7天内的登录

常见问题及解决方案

问题 原因 解决方案
last命令显示”btmp begins” /var/log/btmp文件损坏或为空 使用sudo touch /var/log/btmp重新创建文件,然后sudo systemctl restart rsyslog
日志文件显示权限不足 当前用户没有读取权限 使用sudo提权或修改文件权限sudo chmod 644 /var/log/auth.log
无法查看实时登录记录 日志轮转或服务未运行 使用sudo tail -f /var/log/auth.log实时监控
登录记录显示异常IP 服务器可能被入侵 立即检查 authorizedkeys 文件,修改SSH密码,设置防火墙规则
日志文件过大影响性能 长期未清理日志 配置logrotate,定期清理旧日志,保留重要安全记录

高级监控技巧

实时监控登录活动

# 实时监控SSH登录尝试
sudo tail -f /var/log/auth.log | grep --line-buffered "ssh"

设置登录告警脚本

#!/bin/bash tail -f /var/log/auth.log | while read line; do if echo "$line" | grep -q "Failed password"; then echo "警告:检测到登录失败 - $line" fi done

分析登录统计信息

# 统计成功登录次数最多的IP
last | awk '{print $3}' | grep -v '^$' | sort | uniq -c | sort -nr

统计失败登录尝试

sudo lastb | awk '{print $3}' | sort | uniq -c | sort -nr | head -10
通过以上方法和技巧,你可以全面掌握VPS的登录情况,及时发现安全隐患,确保服务器的稳定运行和数据安全。建议将登录检查纳入日常运维流程,定期审查登录记录。

发表评论

评论列表