Linux服务器用户会话管理:查看登录用户与强制踢出挂死会话

为什么要关注用户会话?

当多个人使用同一台Linux服务器时,难免出现有人终端断开但进程还在、或者某个用户占用过多资源的情况。
做好Linux服务器用户会话管理,既能快速释放资源,也能防止未授权操作。
本文用最直白的方式带你走一遍完整流程。

用三条命令看清当前谁在登录

打开终端并SSH到服务器后,先执行下面三条命令之一:

  • w:输出当前在线用户、登录时间、当前执行的命令、负载等。
  • who:只显示用户名、终端、登录时间。
  • last:列出历史登录记录,包括仍在线和已退出的会话。
# 查看在线用户及活动
w
# 示例输出片段
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU  WHAT
root     pts/0    192.168.1.100    09:15    0.00s  0.05s  0.05s -bash

重点看 IDLE 列,如果某个用户已经空闲很久(比如3d),说明会话可能挂死了。

强制踢出挂死用户

遇到忘记退出的会话,不要直接重启服务器。
pkill 杀死对应进程即可:

# 踢出用户名为 testuser 的所有会话
sudo pkill -KILL -u testuser

如果想只踢掉某个特定终端(如pts/1),先用 who 找到该终端的PID(需要先查看 ps aux 关联的进程),或者直接用 skill

# 踢掉 pts/1 上的用户(需要安装 util-linux)
skill -KILL -t pts/1

注意pkill -u 会杀掉该用户所有进程,包括正在运行的业务进程。
如果只是想断开多余会话,建议先确认该用户没有正在运行的重要任务。

限制用户同时登录数量

如果你希望相同用户最多只能同时登录N个会话,修改 /etc/security/limits.conf 文件。
例如限制 webuser 最多2个会话:

echo "webuser hard maxlogins 2" >> /etc/security/limits.conf

修改后该用户新登录时会立即生效(已有会话不受影响)。
如果使用宝塔面板,可以在“SSH - 安全管理 - 登录限制”中快速设置。

避坑与高频问题

1. 踢掉用户后对方还能重新连接?

是的,除非同时改了密码或配置了pam_limits防护。
建议在踢出前确认对方是否为合法操作。

2. pkill 报错“no process found”

先运行 pgrep -u 用户名 确认有没有进程,如果检查到用户已经退出,说明会话早消失了。

3. 修改limits.conf后不生效?

检查/etc/pam.d/common-session(Ubuntu/Debian)或/etc/pam.d/sshd中是否包含 session required pam_limits.so
没有就加上。

4. 如何查看历史登录记录中有异常IP?

使用last -i可以显示来源IP,配合lastb查看失败登录尝试。

验证你的操作是否生效

  1. 查看在线用户:执行 who,确认你期望踢出的用户已不在列表里。
  2. 测试并发限制:用两个SSH窗口同时以受限用户登录,第三个窗口会提示“Too many logins”。
  3. 检查系统日志:journalctl -u sshd | tail -20 里可以看到用户登录/断开记录。

如果你正在处理Linux服务器用户会话管理,建议先按以上步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
WP网站主题自定义CSS:WordPress主题自定义
下一篇
Docker部署Traefik的正确姿势,零基础也能上手
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意