禁止用户通过SSH登录可通过四种方式实现:1. 配置/etc/ssh/sshd_config使用DenyUsers或AllowUsers限制特定用户;2. 将用户shell设为/sbin/nologin阻止交互式登录;3. 利用PAM模块结合denied_users文件控制认证;4. 禁止root直接登录,提升安全性。修改后需重启sshd服务,并建议保留备用会话以防锁定。

如果需要禁止某些用户通过SSH登录Linux系统,可以通过多种方式实现,常见于安全加固或权限管理场景。核心思路是利用SSH服务配置和系统用户管理机制来限制访问。
OpenSSH的主配置文件/etc/ssh/sshd_config支持通过AllowUsers、DenyUsers、AllowGroups、DenyGroups等指令控制登录权限。
禁止特定用户登录:
DenyUsers username1 username2该配置会阻止username1和username2通过SSH登录,无论其属于哪个用户组。
仅允许指定用户登录:
AllowUsers admin user1只有列出的用户才能登录,其他所有用户默认被拒绝。这种方式更安全,适合生产环境。
按用户组限制:
DenyGroups ssh_restricted将不想让SSH登录的用户加入ssh_restricted组,即可统一禁用。
修改配置后必须重启SSH服务:
systemctl restart sshd将用户的登录Shell设置为/sbin/nologin或/usr/sbin/nologin,可阻止其交互式登录,但保留系统账户功能。
执行命令修改指定用户:
usermod -s /sbin/nologin username若需恢复登录权限:
usermod -s /bin/bash username此方法不影响该用户运行计划任务或被其他服务调用。
Linux的PAM(Pluggable Authentication Modules)可增强SSH登录验证逻辑。
编辑PAM SSH配置文件:/etc/pam.d/sshd,添加:
auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ssh/denied_users然后创建/etc/ssh/denied_users文件,每行写一个被禁止的用户名:
user1 test backup
该配置表示:如果用户名出现在denied_users文件中,则拒绝认证。onerr=succeed表示当文件读取失败时仍允许登录,避免配置错误导致锁死。
出于安全考虑,应禁止root用户直接通过SSH登录。
编辑/etc/ssh/sshd_config:
PermitRootLogin no保存后重启sshd服务。如需管理员权限,建议普通用户登录后使用su或sudo。
基本上就这些常用方法。根据实际需求选择一种或组合使用,能有效控制SSH访问权限,提升系统安全性。修改任何SSH配置前建议保留一个活跃会话,防止误操作导致无法远程连接。
以上就是Linux系统如何禁止用户SSH登录_LinuxSSH用户限制方案讲解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号