VPS如何查看登录过的IP地址?_全面解析登录IP查询方法与安全防护
如何查看VPS上登录过的IP地址?
| 查询方法 | 适用系统 | 主要日志文件 | 操作复杂度 |
|---|---|---|---|
| last命令 | Linux | /var/log/wtmp | 简单 |
| lastb命令 | Linux | /var/log/btmp | 简单 |
| lastlog命令 | Linux | /var/log/lastlog | 简单 |
| who命令 | Linux | /var/run/utmp | 简单 |
| 查看auth.log | Linux | /var/log/auth.log | 中等 |
| 事件查看器 | Windows | 安全日志 | 中等 |
| PowerShell | Windows | 安全日志 | 中等 |
2025最新实测!3款SEO关键词排名优化APP对比,手把手教你提升搜索流量
# VPS如何查看登录过的IP地址?_全面解析登录IP查询方法与安全防护
在VPS服务器管理中,监控登录活动是保障服务器安全的重要环节。通过查看登录过的IP地址,可以及时发现异常登录行为,采取相应的安全措施。
## 主要查询方法概览
| 方法类别 | 具体命令/工具 | 主要功能 | 适用场景 |
|---|---|---|---|
| 基础查询 | last、who、w | 显示当前和近期登录用户 | 快速检查 |
| 详细日志 | lastlog、lastb | 显示所有用户最后登录和失败尝试 | 安全审计 |
| 日志分析 | auth.log、secure | 查看详细认证日志 | 深度调查 |
| 系统工具 | 事件查看器、PowerShell | Windows系统登录记录 | 跨平台管理 |
## 详细操作步骤
### 步骤一:使用last命令查看登录历史
**操作说明**
last命令是Linux系统中最常用的查看登录历史的工具,可以显示系统最近的所有登录记录,包括登录用户、登录IP、登录时间和持续时间等信息。
**使用工具提示**
- 适用于所有Linux发行版
- 需要root或sudo权限查看完整信息
- 信息来源于/var/log/wtmp文件
```bash
$ last
user1 pts/0 192.168.1.100 Fri Oct 25 09:30 still logged in
user2 ssh 203.0.113.45 Thu Oct 24 14:22 - 16:45 (02:23)
root tty1 Wed Oct 23 08:15 - 17:30 (09:15)
reboot system boot 5.4.0-42-generic Wed Oct 23 08:14 - 17:30 (09:16)
```
### 步骤二:查看失败登录尝试
**操作说明**
lastb命令专门用于显示失败的登录尝试,这对于发现暴力破解攻击特别有用。
**使用工具提示**
- 需要sudo权限
- 数据来自/var/log/btmp文件
- 可以帮助识别潜在的安全威胁
```bash
$ sudo lastb
hacker ssh 198.51.100.23 Fri Oct 25 03:15 - 03:15 (00:00)
admin ssh 203.0.113.67 Thu Oct 24 22:30 - 22:30 (00:00)
unknown ssh 192.0.2.1 Thu Oct 24 21:45 - 21:45 (00:00)
```
### 步骤三:使用lastlog查看用户最后登录
**操作说明**
lastlog命令显示系统中所有用户最近一次登录的信息,包括从未登录过的用户。
**使用工具提示**
- 不需要特殊权限
- 信息来自/var/log/lastlog文件
- 适合批量用户管理
```bash
$ lastlog
Username Port From Latest
root tty1 Wed Oct 23 08:15:30
user1 pts/0 192.168.1.100 Fri Oct 25 09:30:22
user2 ssh 203.0.113.45 Thu Oct 24 14:22:15
nobody **Never logged in**
```
### 步骤四:分析认证日志文件
**操作说明**
直接查看/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(CentOS/RHEL)文件,可以获取更详细的认证信息。
**使用工具提示**
- 需要root或sudo权限
- 可以使用grep过滤特定信息
- 日志文件可能被轮转,需要检查多个文件
```bash
$ sudo grep "Accepted password" /var/log/auth.log
Oct 25 09:30:22 vps sshd: Accepted password for user1 from 192.168.1.100 port 22 ssh2
Oct 24 14:22:15 vps sshd: Accepted password for user2 from 203.0.113.45 port 22 ssh2
```
### 步骤五:Windows系统登录记录查询
**操作说明**
对于Windows VPS,可以使用事件查看器或PowerShell命令来查看登录记录。
**使用工具提示**
- 需要管理员权限
- 事件ID 4624表示成功登录
- 事件ID 4625表示失败登录
```powershell
PS C:\> Get-EventLog -LogName Security -InstanceId 4624 -Newest 10
```
## 常见问题与解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| last命令显示”wtmp begins”且无记录 | wtmp文件被清空或损坏 | 检查日志轮转设置,恢复备份日志文件 |
| 无法查看btmp文件 | 文件不存在或权限不足 | 创建btmp文件:sudo touch /var/log/btmp 并设置权限 |
| 日志文件过大 | 长期未清理日志 | 配置logrotate定期轮转日志文件 |
| 发现未知IP登录 | 服务器被入侵或配置错误 | 立即更改密码,检查authorized_keys,配置防火墙 |
| 登录记录时间不准 | 系统时区设置错误 | 使用timedatectl set-timezone设置正确时区 |
通过以上方法和步骤,您可以有效地监控VPS的登录活动,及时发现异常行为,确保服务器的安全稳定运行。定期检查登录记录应该成为服务器维护的常规操作之一。
发表评论