如何查看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的登录情况,及时发现安全隐患,确保服务器的稳定运行和数据安全。建议将登录检查纳入日常运维流程,定期审查登录记录。
发表评论