Linux系统如何禁止用户SSH登录_LinuxSSH用户限制方案讲解
发布时间 - 2025-11-23 00:00:00 点击率:次禁止用户通过SSH登录可通过四种方式实现:1. 配置/etc/ssh/sshd_config使用DenyUsers或AllowUsers限制特定用户;2. 将用户shell设为/sbin/nologin阻止交互式登录;3. 利用PAM模块结合denied_users文件控制认证;4. 禁止root直接登录,提升安全性。修改后需重启sshd服务,并建议保留备用会话以防锁定。
如果需要禁止某些用户通过SSH登录Linux系统,可以通过多种方式实现,常见于安全加固或权限管理场景。核心思路是利用SSH服务配置和系统用户管理机制来限制访问。
1. 使用sshd_config限制
用户或用户组
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 sshd2. 修改用户Shell为/sbin/nologin
将用户的登录Shell设置为/sbin/nologin或/usr/sbin/nologin,可阻止其交互式登录,但保留系统账户功能。
执行命令修改指定用户:
usermod -s /sbin/nologin username若需恢复登录权限:
usermod -s /bin/bash username此方法不影响该用户运行计划任务或被其他服务调用。
3. 结合PAM模块进行访问控制
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表示当文件读取失败时仍允许登录,避免配置错误导致锁死。
4. 禁止root用户直接SSH登录(推荐)
出于安全考虑,应禁止root用户直接通过SSH登录。
编辑/etc/ssh/sshd_config:
PermitRootLogin no保存后重启sshd服务。如需管理员权限,建议普通用户登录后使用su或sudo。
基本上就这些常用方法。根据实际需求选择一种或组合使用,能有效控制SSH访问权限,提升系统安全性。修改任何SSH配置前建议保留一个活跃会话,防止误操作导致无法远程连接。
# linux
# 配置文件
# linux系统
# red
# bash
# ssh
# 重启
# 用户登录
# 出现在
# 设为
# 可以通过
# 想让
# 四种
# 可通过
# 如需
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Python文本处理实践_日志清洗解析【指导】
JS碰撞运动实现方法详解
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Android利用动画实现背景逐渐变暗
如何用低价快速搭建高质量网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
高端建站如何打造兼具美学与转化的品牌官网?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
详解jQuery中的事件
phpredis提高消息队列的实时性方法(推荐)
如何在阿里云高效完成企业建站全流程?
HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何在阿里云购买域名并搭建网站?
Windows Hello人脸识别突然无法使用
Laravel如何升级到最新版本?(升级指南和步骤)
JS经典正则表达式笔试题汇总
Swift开发中switch语句值绑定模式
html5的keygen标签为什么废弃_替代方案说明【解答】
如何确保FTP站点访问权限与数据传输安全?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
专业商城网站制作公司有哪些,pi商城官网是哪个?
如何快速上传自定义模板至建站之星?
微信小程序 canvas开发实例及注意事项
5种Android数据存储方式汇总
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
JS弹性运动实现方法分析
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
Laravel如何配置任务调度?(Cron Job示例)
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
如何快速生成高效建站系统源代码?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
微信小程序 五星评分(包括半颗星评分)实例代码
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
php485函数参数是什么意思_php485各参数详细说明【介绍】
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
公司网站制作需要多少钱,找人做公司网站需要多少钱?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】


用户或用户组