前言:在企业运维场景中,服务器的安全访问与操作管控至关重要。JumpServer 作为开源堡垒机的典型代表,凭借集中管控、权限精细分配、操作全链路审计等核心能力,成为保障运维安全合规的关键工具。
无论是中小企业简化运维权限管理,还是大型企业构建多层级安全防护体系,JumpServer 都能适配。它能让运维操作“可管、可控、可追溯”,从根源上降低误操作、违规操作带来的风险 。
本文将打破传统教程的碎片化讲解,从环境筹备到 JumpServer 部署,再到 SSH 公钥接入服务器、日常运维与审计,打造一套覆盖“部署 - 配置 - 使用 - 管控”的完整闭环,助力运维人员高效搭建安全运维体系,让服务器管理既稳又高效 。
一、JumpServer 堡垒机部署(Docker 方式,快速便捷)
(一)环境准备
- 系统要求:准备一台 Linux 服务器(推荐 CentOS 7+/Ubuntu 20.04+ ),确保至少 2GB 内存、2 核 CPU、20GB 磁盘,关闭防火墙或开放必要端口(如
9443
、2222
等 )。 - 依赖安装:
- CentOS/RHEL:
yum install -y docker docker-compose systemctl start docker && systemctl enable docker
- Ubuntu/Debian:
apt update && apt install -y docker.io docker-compose systemctl start docker && systemctl enable docker
- CentOS/RHEL:
(二)部署 JumpServer
-
创建部署目录:
mkdir -p /opt/jumpserver && cd /opt/jumpserver
-
编写
docker-compose.yml
:version: '3' services:jumpserver:image: jumpserver/jms_all:latestcontainer_name: jumpserverrestart: alwaysenvironment:- SECRET_KEY=your_secret_key # 替换为复杂随机字符串,如 openssl rand -hex 32- BOOTSTRAP_TOKEN=your_bootstrap_token # 自定义令牌,用于组件通信- DB_HOST=mysql # 若用外部数据库需修改,此处用内置- DB_PORT=3306- DB_USER=jumpserver- DB_PASSWORD=jumpserver- DB_NAME=jumpserver- REDIS_HOST=redis- REDIS_PORT=6379- REDIS_PASSWORD=ports:- 80:80- 443:443- 2222:2222 # 堡垒机 SSH 访问端口volumes:- ./jumpserver/data:/opt/jumpserver/data- ./jumpserver/logs:/opt/jumpserver/logs
(注:生产环境建议使用外部 MySQL、Redis,替换
DB_HOST
、REDIS_HOST
等参数 ) -
启动部署:
docker-compose up -d
等待镜像拉取与容器启动,执行
docker logs -f jumpserver
查看启动日志,出现Boot success
即部署完成。
二、JumpServer 初始配置与登录
(一)访问与初始化
- 浏览器输入服务器 IP(或域名 ),访问
https://your_server_ip
(若未配置 HTTPS,用http://
),跳转 JumpServer 初始化页面。 - 设置管理员账号(如
admin
)、密码,配置邮箱、LDAP 等(可选,后期可在系统设置调整 ),完成初始化。
(二)登录与基础界面
- 用管理员账号登录,进入主界面(可看到审计台、资产、权限等模块 )。
三、SSH 公钥配置准备(客户端侧)
(一)Linux 客户端生成密钥
- 本地 Linux 终端执行:
按提示设置存储路径(默认ssh-keygen -t rsa -b 4096 # 推荐 4096 位加密
~/.ssh/id_rsa
)、密码(可选 ),生成id_rsa
(私钥 )和id_rsa.pub
(公钥 )。 - 查看公钥:
复制公钥内容,后续配置到 JumpServer 。cat ~/.ssh/id_rsa.pub
四、JumpServer 端 SSH 公钥配置
(一)进入个人信息 - SSH 公钥设置
- 登录 JumpServer 后,点击右上角用户名(如
admin
)→ 选择 “个人信息设置” 。 - 切换到 “SSH 公钥设置” 标签(界面如图:含原公钥、更新公钥区域 )。
(二)添加/更新 SSH 公钥
- 在 “更新 SSH 公钥” 区域,粘贴本地生成的公钥内容(
id_rsa.pub
里的字符串 )。 - 点击 “提交” ,完成公钥关联。
五、接入服务器配置(资产纳管与授权)
(一)添加服务器资产
- 进入 JumpServer “资产” 模块 → 点击 “创建资产” 。
- 填写资产信息:
- 主机名:自定义(如
web-server-01
) - IP 地址:服务器真实 IP(如
192.168.1.100
) - 端口:
22
(默认 SSH 端口,若修改需对应填写 ) - 系统类型:
Linux
保存资产,完成服务器纳管。
- 主机名:自定义(如
(二)配置资产授权(关联 SSH 公钥)
- 进入 “权限” 模块 → 选择 “资产授权” → 点击 “创建授权规则” 。
- 配置授权:
- 资产:选择刚添加的服务器
- 用户:选择当前用户(或用户组 )
- 认证方式:选 “SSH 公钥” ,关联已配置的公钥
保存授权,完成权限绑定。
(三)通过 JumpServer 连接服务器
- 进入 “会话” 模块 → 找到已授权服务器 → 点击 “连接” 。
- JumpServer 自动通过 SSH 公钥建立连接,成功后即可在会话界面执行命令(如
ls
、top
)、传输文件,操作全程记录审计日志。
六、操作审计与日常运维
(一)审计日志追溯
- 进入 “审计台 - 会话审计” ,可查看所有运维会话:登录用户、操作时间、执行命令、文件传输记录等。
- 故障排查时,通过审计日志精准定位操作行为,确保合规性。
(二)进阶运维扩展
- 批量操作:利用 JumpServer “命令批量执行” 功能,向多台服务器推送脚本、配置。
- 权限细化:通过用户组、角色配置,区分开发、运维人员的服务器操作权限(如开发只读、运维可修改 )。
七、总结
从 JumpServer 部署(Docker 快速落地 ),到 SSH 公钥接入服务器、权限管控与审计,构建了完整的运维安全闭环。无论是中小企业快速落地,还是大型企业细化权限治理,这套流程都能适配。掌握后可大幅提升服务器运维的安全性与效率,让运维操作 “可管、可控、可追溯” 。
(注:生产环境建议强化安全配置,如启用 HTTPS、对接企业 LDAP、定期备份数据;文中命令需根据实际环境调整,确保部署稳定 。 )