当前位置: 首页 > news >正文

JumpServer堡垒机部署与实战:从0到1搭建统一运维入口

JumpServer堡垒机部署与实战:从0到1搭建统一运维入口

    • 1. 为什么需要堡垒机?
    • 2. JumpServer核心功能
    • 3. 核心概念
    • 4. 部署JumpServer(离线安装版)
      • 4.1 下载解压
      • 4.2 重命名(可选)
      • 4.3 查看安装帮助
      • 4.4 执行安装
      • 4.5 启动服务
      • 4.6 访问Web界面
    • 5. 实战案例:管理后端开发团队
      • 5.1 创建用户组
      • 5.2 创建自定义角色
      • 5.3 创建用户
      • 5.4 创建资产
      • 5.5 创建系统用户
        • 5.5.1 在目标服务器上创建系统用户
        • 5.5.2 在JumpServer中创建同名系统用户
        • 5.5.3 将系统用户添加到资产
      • 5.6 创建资产授权
    • 6. 验证登录
      • 6.1 李四(普通开发)登录
      • 6.2 张三(负责人)登录
    • 7. 审计功能初探
    • 8. 总结与注意事项

今天我们来聊一聊JumpServer——一款开源、国产的企业级堡垒机(运维安全审计系统)。在服务器数量增多、运维人员变复杂的环境下,如何保证安全、权限可控、操作可追溯?JumpServer就是答案。本文将从零开始,带你一步步安装、配置,并通过一个完整的案例演示如何管理用户、资产和权限。


1. 为什么需要堡垒机?

在没有堡垒机之前,常见场景是这样的:

  • 服务器账号密码到处飞,开发、测试、运维人手一份;
  • 运维人员直接SSH登录服务器,遇到故障时,谁也说不清当时执行了什么命令;
  • 员工离职后,服务器密码是否泄露无从知晓;
  • 等保合规检查时,拿不出完整的操作审计记录。

JumpServer解决了这些痛点:它作为统一的登录入口,所有对服务器的访问都必须经过它;通过细粒度的权限控制,确保不同人员只能访问授权的资产;同时记录所有操作(命令、回放),满足审计需求。


2. JumpServer核心功能

  • 统一入口:用户只需登录JumpServer,即可免密登录后台任意授权的资产(服务器、数据库等)。
  • 细粒度权限:基于“用户/用户组 + 资产/资产组 + 系统用户”的授权模型,可控制登录时间、使用的账号等。
  • 全量审计:支持SSH、RDP、MySQL、Redis等协议的指令记录和会话录像回放。

3. 核心概念

在动手部署之前,必须理解这几个核心概念,否则配置时会迷糊。

概念解释
资产一台服务器、一个数据库、一个网络设备等。
系统用户资产上的真实账号(如 root、deploy、app)。注意:不是JumpServer登录用户!
JumpServer用户运维/开发人员登录JumpServer的账号。
角色定义用户在JumpServer管理后台能做什么(比如管理用户、审计日志等)。

4. 部署JumpServer(离线安装版)

本次部署环境:虚拟机 4C4G(企业建议8C8G),操作系统CentOS 7/8。使用官方提供的离线安装包,版本v2.25.5

4.1 下载解压

# 进入软件存放目录cd/opt/software# 解压离线包tar-xzvf jumpserver-offline-installer-v2.25.5-amd64-77.tar.gz -C /opt/module/

4.2 重命名(可选)

cd/opt/modulemvjumpserver-offline-installer-v2.25.5-amd64-77 jumpserver-2.25.5

4.3 查看安装帮助

cdjumpserver-2.25.5 ./jmsctl.sh --help

4.4 执行安装

直接运行安装命令,脚本会自动检测环境并拉取所需Docker镜像(离线包已包含镜像)。

./jmsctl.shinstall

安装过程中会提示配置参数,一般保持默认即可,除非需要修改端口或数据目录。

4.5 启动服务

./jmsctl.sh start

查看状态:

[root@hadoop108 jumpserver-2.25.5]# ./jmsctl.sh statusNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS jms_mysql jumpserver/mariadb:10.6"docker-entrypoint.s…"mysql About a minute ago Up About a minute(healthy)3306/tcp jms_redis jumpserver/redis:6.2"docker-entrypoint.s…"redis About a minute ago Up About a minute(healthy)6379/tcp...

出现类似输出,表示核心组件启动成功。

4.6 访问Web界面

浏览器访问http://<服务器IP>:80(默认端口80)。
默认管理员账号:admin,密码:admin。首次登录会强制修改密码,并设置组织名称等。


修改密码后进入仪表盘:


5. 实战案例:管理后端开发团队

假设我们有一个后端开发团队,包含负责人(有部分管理权限)和普通开发(仅能登录指定的服务器)。我们通过JumpServer来实现权限隔离。

5.1 创建用户组

首先创建“后端开发组”,方便批量授权。

5.2 创建自定义角色

JumpServer默认有管理员、审计员等角色,但我们可以自定义更细粒度的角色。

  • 后端开发负责人:拥有查看资产、授权、会话审计的权限,但不能删除资产、管理系统用户。
  • 后端开发工程师:仅能登录被授权的资产,不能查看管理后台。

在“角色管理”中新建角色,勾选对应权限即可。



5.3 创建用户

  • 张三(负责人)
    用户名:zhangsan,姓名:张三,邮箱:zhangsan@company.com,加入后端开发组,角色选择“后端开发负责人”。

  • 李四(普通开发)
    用户名:lisi,姓名:李四,邮箱:lisi@company.com,加入后端开发组,角色选择“后端开发工程师”。

创建完成后,用户会收到初始密码邮件(测试环境可手动设置)。

5.4 创建资产

这里假设我们需要管理一台应用服务器192.168.2.104(Linux)。

在“资产管理-资产列表”中,点击“创建资产”,填写:

  • 主机名:hadoop104
  • IP地址:192.168.2.104
  • 协议:SSH,端口22
  • 平台:Linux


5.5 创建系统用户

系统用户是资产上的真实账号。强烈建议不要直接用root,而是创建普通用户,再赋予sudo权限。

5.5.1 在目标服务器上创建系统用户

登录192.168.2.104,执行:

useradddeploypasswddeploy# 设置密码

如果需要提权,可以配置sudo(例如deploy ALL=(ALL) ALL,但生产环境应限制命令)。

5.5.2 在JumpServer中创建同名系统用户

在“资产管理-系统用户”中,点击“创建系统用户”:

  • 名称:deploy
  • 用户名:deploy
  • 类型:普通用户
  • 认证方式:密码
  • 密码:输入刚才设置的密码

5.5.3 将系统用户添加到资产

进入资产的详情页,点击“添加系统用户”,选择刚创建的deploy,并测试连接性。
注意:测试前需要在JumpServer系统设置中正确配置“当前站点URL”,否则资产无法回连JumpServer执行命令。站点URL填http://<JumpServer_IP>


5.6 创建资产授权

授权是连接“用户”和“资产”的桥梁,指定哪些用户可以通过哪个系统用户访问哪些资产

在“权限管理-资产授权”中,新建授权规则:

  • 名称:后端开发组-应用服务器
  • 用户/用户组:选择“后端开发组”(这样组内所有用户都继承权限)
  • 资产/资产组:选择刚创建的hadoop104
  • 系统用户:选择deploy
  • 有效期:可设置长期或时间段


6. 验证登录

6.1 李四(普通开发)登录

用李四账号登录JumpServer Web界面,进入“工作台”,可以看到授权给他的资产列表。

点击“Web CLI”即可在线终端,自动以deploy用户登录服务器,全程无需知道服务器密码。

6.2 张三(负责人)登录

张三登录后,除了工作台,还能看到“审计台”,可以查看所有用户的会话记录和命令记录。



7. 审计功能初探

在“审计台-会话审计”中,可以查看所有在线或历史会话。点击某条记录,能看到完整的命令输入输出,甚至可以回放录像(类似电影一样)。这对于故障排查和责任追溯非常有用。


8. 总结与注意事项

通过以上步骤,我们完成了JumpServer的部署和基本权限配置。回顾一下关键点:

  1. 系统用户与JumpServer用户分离:系统用户是资产上的账号,JumpServer用户是运维人员登录堡垒机的账号。
  2. 授权模型:用户/用户组 + 资产/资产组 + 系统用户,三者组合形成访问规则。
  3. 站点URL设置:如果资产无法连接,首先检查系统设置中的当前站点URL是否正确(必须是其他节点能访问到的地址)。
  4. 安全建议:尽量避免使用root作为系统用户;定期审计操作日志;开启MFA(双因素认证)增强登录安全。

JumpServer功能远不止于此,它还支持数据库运维、Windows RDP、应用发布等。希望本文能帮你快速上手,在团队中落地堡垒机,提升运维安全水平。

如果你在部署中遇到问题,欢迎留言交流!

http://www.jsqmd.com/news/399310/

相关文章:

  • 独生子女的“父母改善”:一个正在爆发的购房新命题
  • 题解:AcWing 843 n-皇后问题
  • 研究生阶段“大论文”与“小论文”分别是什么意思?
  • 《信号与系统》欧拉公式的本质的角度的旋转
  • 题解:AcWing 842 排列数字
  • CVE-2020-1957
  • 题解:AcWing 841 字符串哈希
  • 题解:AcWing 839 模拟堆
  • 题解:AcWing 838 堆排序
  • 题解:AcWing 840 模拟散列表
  • 神来之笔!提示工程架构师的Agentic AI可视化分析创新之举
  • 探索Gemini在AI原生应用中的无限可能
  • 硕士研究生毕业要求的两个工作量是什么意思?
  • 《AI应用架构师剖析:AI发展进程中社会责任的关系密码》
  • Windows 的 cmd 里如何定义 alias?
  • 题解:AcWing 837 连通块中点的数量
  • 题解:AcWing 836 合并集合
  • 题解:AcWing 240 食物链
  • 2026 深度解析:ChatGPT Plus 国内充值与代充避坑指南(技术原理与实操全纪录)
  • 2026 技术指南:攻克 ChatGPT Plus 国内订阅难题(含代充、虚拟卡、支付风控深度解析)
  • 【UI自动化测试】2_PO模式 _单元测试框架(重点)
  • 多源异构大数据融合挖掘技术
  • 模型蒸馏在AI原生应用中的5大核心优势解析
  • 【UI自动化测试】1_PO模式 _面向过程编码
  • 开发日志4
  • 讲讲积分墙广告、精品页面、canvas 的 SEO 密码
  • Copilot进阶教程:在AI原生应用中实现智能开发工作流
  • 题解:AcWing 835 Trie字符串统计
  • 冥想第一千七百九十九天(1799)
  • 临沂有实力的橡胶木板材公司哪家好 - 品牌推荐(官方)