如何限制root登录 ssh配置
发布时间 - 2025-08-28 00:00:00 点击率:次首先禁止 root 用户通过 ssh 直接登录,具体方法是编辑 /etc/ssh/sshd_config 文件,将 permitrootlogin 设置为 no;1. 使用 sudo vim /etc/ssh/sshd_config 打开配置文件;2. 修改 #permitrootlogin yes 为 permitrootlogin no;3. 保存后重启 ssh 服务,使用 sudo systemctl restart sshd;4. 确保已创建普通管理员用户(如 admin),并将其加入 sudo(debian/ubuntu)或 wheel(centos/rhel)组;5. 推荐启用密钥登录、更改默认端口、配置防火墙和部署 fail2ban 以增强安全;6. 验证配置:尝试用 root 登录应被拒绝,说明限制已生效。
在 Linux 系统中,为了提高服务器的安全性,通常建议限制 root 用户通过 SSH 直接登录。这样可以防止攻击者直接暴力破解 root 账户密码。以下是限制 root 登录的 SSH 配置方法。
修改 SSH 服务配置文件
SSH 服务的配置文件通常位于
/etc/ssh/sshd_config。你需要编辑这个文件来禁用 root 登录。
- 使用文本编辑器打开配置文件:
sudo vim /etc/ssh/sshd_config
- 找到以下这一行:
#PermitRootLogin yes
将其修改为:
PermitRootLogin no
说明:PermitRootLogin no:完全禁止 root 用户通过 SSH 登录。其他可选值(了解即可):without-password 或 prohibit-password:允许 root 使用密钥登录,但不允许密码登录。yes:允许 root 密码登录(不推荐)。forced-commands-only:只允许 root 执行预定义命令,通常用于自动化任务。
- 保存并退出编辑器。
重启 SSH 服务
修改配置后,必须重启 SSH 服务才能生效。
- 在大多数现代 Linux 发行版(如 Ubuntu 18.04+、CentOS 7+)上使用:
sudo systemctl restart sshd
- 对于旧版本的 Ubuntu,可能使用:
sudo systemctl restart ssh
⚠️ 注意:重启前建议确保你有其他管理员账户可以登录,否则可能被锁在系统外。
配置普通用户并提升权限(推荐做法)
禁用 root 登录后,应使用普通用户登录,再通过
sudo或
su切换到 root。
- 创建一个普通用户(例如
admin
):
sudo adduser admin
- 将用户加入 sudo 组(Debian/Ub
untu):
sudo usermod -aG sudo admin
或加入 wheel 组(CentOS/RHEL):
sudo usermod -aG wheel admin
- 使用
admin
用户通过 SSH 登录,需要 root 权限时执行:
sudo su -
或直接运行需要权限的命令:
sudo systemctl restart nginx
额外安全建议
- 使用密钥认证:禁用密码登录,仅允许 SSH 密钥登录,更安全。
- 更改默认 SSH 端口:将端口从 22 改为其他端口,减少自动扫描攻击。
-
启用防火墙:使用
ufw
或firewalld
限制访问 IP。 - 使用 Fail2ban:自动封禁多次尝试登录失败的 IP。
验证配置是否生效
你可以通过另一台机器尝试用 root 登录:
ssh root@your_server_ip
如果返回类似 “Permission denied, please try again.” 或直接拒绝连接,说明配置成功。
基本上就这些。限制 root 登录是一个简单但非常有效的安全措施,强烈建议在生产环境中启用。
# linux
# word
# centos
# nginx
# ubuntu
# ai
# try
# vim
# ssh
# debian
# 自动化
# 重启
# 配置文件
# 编辑器
# 普通用户
# 是一个
# 你可以
# 将其
# 你有
# 可选
# 但不
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站制作软件有哪些,制图软件有哪些?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
iOS中将个别页面强制横屏其他页面竖屏
Laravel怎么在Controller之外的地方验证数据
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
黑客如何通过漏洞一步步攻陷网站服务器?
PHP 500报错的快速解决方法
如何获取上海专业网站定制建站电话?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何快速搭建个人网站并优化SEO?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel如何生成API文档?(Swagger/OpenAPI教程)
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
南京网站制作费用,南京远驱官方网站?
如何在Tomcat中配置并部署网站项目?
JS经典正则表达式笔试题汇总
Python结构化数据采集_字段抽取解析【教程】
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
EditPlus中的正则表达式 实战(2)
个人网站制作流程图片大全,个人网站如何注销?
,怎么在广州志愿者网站注册?
如何在新浪SAE免费搭建个人博客?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在云主机快速搭建网站站点?
高防服务器租用首荐平台,企业级优惠套餐快速部署
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
如何在IIS7上新建站点并设置安全权限?
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何获取免费开源的自助建站系统源码?
网站页面设计需要考虑到这些问题
Python文件流缓冲机制_IO性能解析【教程】
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何快速搭建安全的FTP站点?
如何快速搭建高效简练网站?
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel安装步骤详细教程_Laravel环境搭建指南
HTML 中动态设置元素 name 属性的正确语法详解
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
b2c电商网站制作流程,b2c水平综合的电商平台?
Java类加载基本过程详细介绍


untu):