在Linux系统中,可以通过以下几种方法查看登录IP(包括当前和历史登录记录):
who
或 w
命令: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、时间、终端等)
/var/log/auth.log
或 /var/log/secure
:bash
sudo cat /var/log/auth.log | grep "sshd" # 筛选SSH登录记录
bash
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权限)
ss
或 netstat
: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和端口。fail2ban
日志(如果已安装):sudo cat /var/log/fail2ban.log | grep "Ban" # 查看被封锁的IP
journalctl
(Systemd系统):sudo journalctl -u sshd --no-pager | grep "Accepted" # 查看SSH成功登录
lastb
、auth.log
)需要 sudo
或 root 权限。/var/log/auth.log.1.gz
),需用 zcat
查看。通过以上方法,你可以快速定位当前或历史的登录IP地址。如果需要持续监控,可以结合工具如 fail2ban
或自定义脚本。