JumpServer安装
软件说明
| 版本 | v3.10.10- | v3.10.11+ | v4 |
|---|---|---|---|
| 持久化数据库 | MySQL | MySQL | PostgreSQL |
| 初始化密码 | admin | admin | ChangeMe |
| WEB SSH批量命令 | 支持 | 不支持 | 支持 |
| 官方文档 | https://docs.jumpserver.org/zh/v3/installation/setup_linux_standalone/offline_install/ | https://docs.jumpserver.org/zh/v3/installation/setup_linux_standalone/offline_install/ | https://docs.jumpserver.org/zh/v4/installation/setup_linux_standalone/offline_install/ |
安装说明
JumpServer运行在docker上,因此可提前安装docker环境,且需要docker-compose运行环境,推荐[Dcoker安装(在线仓库)]
安装
下载
https://community.fit2cloud.com/#/products/jumpserver/downloads
解压
v3
# 解压安装文件到[/data0/jumpserver]
tar -zxvf jumpserver-offline-installer-v3.10.10-amd64.tar.gz
# 移动安装文件
mkdir -p /data0/jumpserver && mv jumpserver-offline-installer-v3.10.10-amd64/* /data0/jumpserver
# 删除文件
rm -rf jumpserver-offline-installer-v3.10.10-amd64*
v4
# 解压安装文件到[/data0/jumpserver]
tar -zxvf jumpserver-ce-v4*.tar.gz
# 移动安装文件
mkdir -p /data0/jumpserver && mv jumpserver-ce-v4*/* /data0/jumpserver
# 删除文件
rm -rf jumpserver-ce-v4*
修改配置文件
修改config-example.txt配置
| 配置项 | 值 | 说明 |
|---|---|---|
| VOLUME_DIR | /data1/jumpserver | 数据库持久化目录 |
| CLIENT_MAX_BODY_SIZE | 8192m | 文件上传下载大小限制 |
| DOMAINS | "10.0.0.2:8080" | 可信任DOMAINS定义 |
| DB配置 | 安装时修改 | 根据版本不同自定义修改 |
完整配置
# JumpServer configuration file example.
#
# 如果不了解用途可以跳过修改此配置文件, 系统会自动填入
# 完整参数文档 https://docs.jumpserver.org/zh/v3/guide/env/
################################## 镜像配置 ###################################
#
# 国内连接 docker.io 会超时或下载速度较慢, 开启此选项使用华为云镜像加速
# 取代旧版本 DOCKER_IMAGE_PREFIX
#
# DOCKER_IMAGE_MIRROR=1
# 镜像拉取规则 Always, IfNotPresent
# Always 表示每次都会拉取最新镜像, IfNotPresent 表示本地不存在镜像时才会拉取
#
# IMAGE_PULL_POLICY=Always
################################## 安装配置 ###################################
#
# JumpServer 数据库持久化目录, 默认情况下录像、任务日志都在此目录
# 请根据实际情况修改, 升级时备份的数据库文件(.sql)和配置文件也会保存到该目录
#
VOLUME_DIR=/data1/jumpserver
# 加密密钥, 迁移请保证 SECRET_KEY 与旧环境一致, 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 SECRET_KEY
#
SECRET_KEY=
# 组件向 core 注册使用的 token, 迁移请保持 BOOTSTRAP_TOKEN 与旧环境一致,
# 请勿使用特殊字符串
# (*) Warning: Keep this value secret.
# (*) 勿向任何人泄露 BOOTSTRAP_TOKEN
#
BOOTSTRAP_TOKEN=
# 日志等级 INFO, WARN, ERROR
#
LOG_LEVEL=ERROR
# JumpServer 容器使用的网段, 请勿与现有的网络冲突, 根据实际情况自行修改
#
DOCKER_SUBNET=192.168.250.0/24
# ipv6 nat, 正常情况下无需开启
# 如果宿主不支持 ipv6 开启此选项将会导致无法获取真实的客户端 ip 地址
#
USE_IPV6=0
DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
################################# MySQL 配置 ##################################
# 外置 MySQL 需要输入正确的 MySQL 信息, 内置 MySQL 系统会自动处理
# (*) 密码部分不得包含单引号和双引号
#
DB_HOST=10.0.1.2
DB_PORT=11010
DB_USER=jumpserver
DB_PASSWORD=jumpserver
DB_NAME=jumpserver
# 如果外置 MySQL 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/v3/installation/security_setup/mysql_ssl/
#
DB_USE_SSL=true
################################# Redis 配置 ##################################
# 外置 Redis 需要请输入正确的 Redis 信息, 内置 Redis 系统会自动处理
# (*) 密码部分不得包含单引号和双引号
#
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
# 如果使用外置 Redis Sentinel, 请手动填写下面内容
#
# REDIS_SENTINEL_HOSTS=mymaster/192.168.100.1:26379,192.168.100.1:26380,192.168.100.1:26381
# REDIS_SENTINEL_PASSWORD=your_sentinel_password
# REDIS_PASSWORD=your_redis_password
# REDIS_SENTINEL_SOCKET_TIMEOUT=5
# 如果外置 Redis 需要开启 TLS/SSL 连接, 参考 https://docs.jumpserver.org/zh/v3/installation/security_setup/redis_ssl/
#
# REDIS_USE_SSL=true
################################## 访问配置 ###################################
# 对外提供服务端口, 如果与现有服务冲突请自行修改
#
HTTP_PORT=80
SSH_PORT=2222
MAGNUS_MYSQL_PORT=33061
MAGNUS_MARIADB_PORT=33062
MAGNUS_REDIS_PORT=63790
MAGNUS_POSTGRESQL_PORT=54320
MAGNUS_SQLSERVER_PORT=14330
MAGNUS_ORACLE_PORTS=30000-30030
################################# HTTPS 配置 #################################
# 参考 https://docs.jumpserver.org/zh/v3/installation/proxy/ 配置
#
# HTTPS_PORT=443
# SERVER_NAME=your_domain_name
# SSL_CERTIFICATE=your_cert
# SSL_CERTIFICATE_KEY=your_cert_key
#
# Nginx 文件上传下载大小限制
#
CLIENT_MAX_BODY_SIZE=8192m
################################## 组件配置 ###################################
# 组件注册使用, 默认情况下向 core 容器注册, 集群环境需要修改为集群 vip 地址
#
CORE_HOST=http://core:8080
PERIOD_TASK_ENABLED=true
# Core Session 定义,
# SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期,
# SESSION_EXPIRE_AT_BROWSER_CLOSE=true 表示关闭浏览器即 session 过期
#
# SESSION_COOKIE_AGE=86400
SESSION_EXPIRE_AT_BROWSER_CLOSE=true
# 可信任 DOMAINS 定义,
# 定义可信任的访问 IP, 请根据实际情况修改, 如果是公网 IP 请改成对应的公网 IP,
# DOMAINS="demo.jumpserver.org:443"
# DOMAINS="172.17.200.191:80"
# DOMAINS="demo.jumpserver.org:443,172.17.200.191:80"
DOMAINS=
# 配置不需要启动的组件, 默认所有组件都会开启, 如果不需要某个组件可以通过设置 {组件名称}_ENABLED 为 0 关闭
# CORE_ENABLED=0
# CELERY_ENABLED=0
# KOKO_ENABLED=0
# LION_ENABLED=0
# MAGNUS_ENABLED=0
# CHEN_ENABLED=0
# KAEL_ENABLED=0
# PANDA_ENABLED=0
# Lion 开启字体平滑, 优化体验
#
JUMPSERVER_ENABLE_FONT_SMOOTHING=true
################################# XPack 配置 #################################
# XPack 包, 开源版本设置无效
#
RDP_PORT=3389
XRDP_PORT=3390
################################## 其他配置 ##################################
# 终端使用宿主 HOSTNAME 标识, 首次安装自动生成
#
SERVER_HOSTNAME=${HOSTNAME}
# 使用内置 SLB, 如果 Web 页面获取到的客户端 IP 地址不正确, 请将 USE_LB 设置为 0
# USE_LB 设置为 1 时, 使用配置 proxy_set_header X-Forwarded-For $remote_addr
# USE_LB 设置为 0 时, 使用配置 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
USE_LB=1
# 当前运行的 JumpServer 版本号, 安装和升级完成后自动生成
#
CURRENT_VERSION=
# DB
# 如果需要将数据持久化到外部数据库,这需要提前准备好数据库
# v3采用MySQL
# v4采用PostgresSQL
# 需要提前创建对用的用户,以及对应的库
# 连接参数包含[ip,port,username,password,dbname]
# 权限包含[创建库表]
# Redis
# 如果需要缓存库也采用外部的,则需要额外的redis
# 不推荐采用外部
安装
# 安装
./jmsctl.sh install
# 如果提示需要python环境
# CentOS8+
sudo dnf install python3 python3-pip
# CentOS7
sudo yum install python3 python3-pip
# 验证
python3 --version
pip3 --version
运行
# 启动
./jmsctl.sh start
# 停止
./jmsctl.sh stop
./jmsctl.sh down
# 重启
./jmsctl.sh restart
# 卸载
./jmsctl.sh uninstall
# 备份
./jmsctl.sh backup
# 升级
./jmsctl.sh upgrade
# 帮助
./jmsctl.sh -h
访问
# 地址: http://<JumpServer服务器IP地址>:<服务运行端口>
# 用户名: admin
# 密码: admin|ChangeMe
# 密码参考软件说明
配置文件位置
# 配置目录
/opt/jumpserver/config
自启脚本
# 创建启动命令文件夹
mkdir -p /data0/cmd
# 创建启动脚本
tee /data0/cmd/startup.sh <<-'EOF'
#!/bin/bash
# jumpserver start
su - root -c 'cd /data0/jumpserver && ./jmsctl.sh start'
EOF
# 创建停止脚本
tee /data0/cmd/clean.sh <<-'EOF'
#!/bin/bash
# jumpserver stop
su - root -c 'cd /data0/jumpserver && ./jmsctl.sh stop'
EOF
# 赋予脚本执行权限
chmod +x /data0/cmd/*
# 添加脚本启动命令,并修改脚本执行权限
echo "# init start.sh" >> /etc/rc.local
echo "su - root -c '/data0/cmd/startup.sh'" >> /etc/rc.local
chmod +x /etc/rc.local && chmod +x /etc/rc.d/rc.local