插件窝 干货文章 linux怎么查看登录ip

linux怎么查看登录ip

登录 查看 log 记录 451    来源:    2025-05-14

在Linux系统中,可以通过以下几种方法查看登录IP(包括当前和历史登录记录):


1. 查看当前登录的IP地址

使用 whow 命令:

who -u      # 显示当前登录用户、终端、IP等信息
w           # 更详细的登录信息(包括用户正在执行的命令)

输出示例:

root     pts/0        2023-10-01 10:15 (192.168.1.100)
  • pts/0 表示远程终端,括号内 (192.168.1.100) 就是登录的IP。

使用 last 命令:

last       # 显示最近的登录记录(包括IP、时间、终端等)
  • 输出中的IP地址通常在第三列。

2. 查看历史登录记录

查看 /var/log/auth.log/var/log/secure

  • Ubuntu/Debianbash sudo cat /var/log/auth.log | grep "sshd" # 筛选SSH登录记录
  • CentOS/RHELbash sudo cat /var/log/secure | grep "sshd" # 筛选SSH登录记录 输出示例:
Oct  1 10:15:01 server sshd[1234]: Accepted password for root from 192.168.1.100 port 22

使用 lastb 查看失败登录尝试:

sudo lastb   # 显示失败的登录记录(需要root权限)

3. 查看SSH服务的实时连接

使用 ssnetstat

ss -tnp | grep sshd    # 显示所有SSH连接(推荐)
# 或
netstat -tnp | grep sshd

输出示例:

ESTAB  0  0  192.168.1.100:22  203.0.113.5:54321  users:(("sshd",pid=1234,fd=3))
  • 203.0.113.5:54321 是客户端的IP和端口。

4. 其他工具

使用 fail2ban 日志(如果已安装):

sudo cat /var/log/fail2ban.log | grep "Ban"  # 查看被封锁的IP

使用 journalctl(Systemd系统):

sudo journalctl -u sshd --no-pager | grep "Accepted"  # 查看SSH成功登录

注意事项

  1. 权限要求:部分命令(如 lastbauth.log)需要 sudo 或 root 权限。
  2. IP隐藏:如果用户通过跳板机或NAT登录,显示的可能是内网IP或网关地址。
  3. 日志轮转:历史日志可能被压缩(如 /var/log/auth.log.1.gz),需用 zcat 查看。

通过以上方法,你可以快速定位当前或历史的登录IP地址。如果需要持续监控,可以结合工具如 fail2ban 或自定义脚本。