JumpServer:开源堡垒机与审计网关

FreeGuideOnline 最新 2026-07-03

bash curl -fsSL https://get.docker.com | bash -s docker


安装 Docker Compose:

```bash
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

下载并运行 JumpServer

官方提供了 jumpserver-installer 快速部署工具,会自动拉取所需镜像并以 compose 方式启动。

# 克隆安装脚本
git clone --depth=1 https://github.com/jumpserver/installer.git
cd installer
# 生成随机加密密钥和初始化配置文件
cp config_example.conf config.conf
./jmsctl.sh install

安装过程会引导你设置数据库密码、Redis 密码等,如无特殊需求可全部使用默认随机生成。完成后启动:

./jmsctl.sh start

等待约几分钟,所有容器启动后,可通过浏览器访问 http://<你的服务器IP>,默认用户名密码为 admin / admin,登录后会强制修改密码。

注意:若为生产环境,建议部署 Nginx 反向代理并配置 SSL 证书,并修改 config.conf 中的外部访问地址。

服务组件一览

安装完成后,会运行以下核心容器:

组件 作用
Core 主服务,负责 API、用户、资产等逻辑
Koko SSH 连接代理组件,提供 Web 终端与 SSH 代理
Lion RDP/VNC 连接代理组件(Windows 远程桌面等)
Magnus 数据库审计代理组件
Chen Web 前端页面
Redis / MySQL 缓存与主数据库
Celery 后台任务处理

可使用 ./jmsctl.sh status 查看各组件状态。

快速上手配置

1. 添加资产

登录 JumpServer 界面,进入“资产管理 → 资产列表”,点击“创建”:

  • 主机名:填写服务器标识(如 web-server-01)。
  • IP / 域名:填写服务器的实际 IP 地址。
  • 协议组:勾选 ssh 并填写端口(默认 22)。
  • 网域:根据网络环境选择(默认 Default)。

2. 创建系统用户

资产上的登录账号需要抽象为“系统用户”。进入“资产管理 → 系统用户”,点击“创建”:

  • 名称:可读性强的名字,如 root_priv
  • 用户名:服务器上已有的用户名,如 root
  • 认证方式:密码或 SSH 密钥。
    • 填密码:直接写入密码(JumpServer 会加密存储)。
    • 填密钥:粘贴私钥。推荐使用密钥方式,并可开启“自动推送”功能,由 JumpServer 将公钥分发到资产上。

3. 授权用户访问

进入“权限管理 → 资产授权”,点击“创建”:

  • 用户/用户组:选择需要授权的用户(例如 admin 或者新建一个普通用户 ops)。
  • 资产/资产组:选择之前添加的服务器。
  • 系统用户:选择刚才创建的 root_priv
  • 动作:勾选允许的操作(通常勾选“连接”和“上传下载”即可)。

保存后,授权当即生效。用户即可在其“我的资产”中看到可访问的服务器。

4. 连接资产并验证

用户登录后,进入“工作台 → Web 终端”,右侧会列出已授权的资产列表,双击即可以 Web 方式登录到服务器。

也可以使用本地 SSH 客户端连接 JumpServer 的 Koko 代理端口(默认 2222),使用 JumpServer 的账号密码认证,然后选择资产登录。

审计功能使用

在“审计台”下,可查看:

  • 会话审计:所有在线与历史会话,支持录像回放和命令列表。
  • 命令记录:精确到每个命令执行的时间与内容。
  • 文件传输记录:通过 SFTP 上传下载的文件详情。
  • 数据库审计:在 Magnus 组件支持下,数据库查询的 SQL 语句会被记录。

回放功能基于 ASCII(Web 终端)或视频(数据库、RDP 等)提供流畅的播放体验,可快速定位敏感操作。

进阶核心功能

命令过滤器

你想限制某些用户只能执行特定命令(比如禁止 rm -rf),可以创建命令过滤器规则,并关联到授权中。系统会自动拦截并记录违规命令。

资产批量导入与云同步

  • 批量导入:提供 CSV 模板,可一次导入大量资产。
  • 云主机同步:配置云账号凭证(如阿里云 AK),设置定期同步任务,自动将云服务器纳管至 JumpServer。

改密计划

针对密码认证的系统用户,可创建改密计划,定期自动变更服务器密码,并将新密码回写至 JumpServer,消除密码长期不变的隐患。

会话共享与协作

管理员可邀请团队成员加入自己的在线会话,进行实时协作排障,所有操作依然被完整记录在审计中。

常见部署拓扑

在实际企业环境中,推荐分层部署:

用户端 ---(HTTPS)---> 前端负载均衡 ---(HTTP)---> JumpServer Core 集群
                                      |
                      Koko / Lion / Magnus 各组件横向扩展
资产侧通过 JumpServer 网域节点建立代理隧道,无需公网可达