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

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

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

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

4.2 重命名(可选)

bash 复制代码
cd /opt/module
mv jumpserver-offline-installer-v2.25.5-amd64-77 jumpserver-2.25.5

4.3 查看安装帮助

bash 复制代码
cd jumpserver-2.25.5
./jmsctl.sh --help

4.4 执行安装

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

bash 复制代码
./jmsctl.sh install

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

4.5 启动服务

bash 复制代码
./jmsctl.sh start

查看状态:

bash 复制代码
[root@hadoop108 jumpserver-2.25.5]# ./jmsctl.sh status
NAME                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,执行:

bash 复制代码
useradd deploy
passwd deploy   # 设置密码

如果需要提权,可以配置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、应用发布等。希望本文能帮你快速上手,在团队中落地堡垒机,提升运维安全水平。

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

相关推荐
林姜泽樾2 小时前
linux入门第四章,cd指令和相对、绝对路径
linux·运维·服务器
是小崔啊2 小时前
叩丁狼k8s-运维管理
运维·容器·kubernetes
jjjxxxhhh1232 小时前
[Google Test]- Google Test Ubuntu 完整验证指南
linux·数据库·ubuntu
江畔何人初2 小时前
kubernetes中configmap与secret的区别
linux·运维·云原生·容器·kubernetes
夏乌_Wx2 小时前
mybash:简易 Shell 实现的设计思路与核心模块解析
linux·服务器·前端
程序员爱德华2 小时前
Linux中的 源 和 Channels
linux·channels·
2501_918126913 小时前
stm32核心板是什么属性?
linux·c语言·stm32·嵌入式硬件·个人开发
500佰3 小时前
Hive常见故障多案例FAQ宝典 --项目总结(宝典一)
大数据·linux·数据仓库·hive·hadoop·云计算·运维开发
henry1010103 小时前
Ansible自动化运维全攻略(AI生成)
linux·运维·python·ansible·devops