编辑
2022-07-30
jumpserver
00

目录

Jumpserver介绍
一、安装jumpserver
1、设置docker.repo
2、安装mysql
3、安装redis
4、生成key,官方有文档
5、看官方文档、看官方文档、看官方文档。别人讲的终归是别人讲的也有可能是错的。。。
6、安装过程基本都是默认即可。一路回车,安装完毕后./jmctl.sh start启动即可
7、启动成功后的url:10.0.0.136
8、先创建命令过滤器再创建里面的规则,不允许普通用户删除文件、远程其他服务器等操作
9、也支持使用特定格式导入导出资产列表
10、详细过程
二、升级jumpserver
1、查看jumpserver升级帮助
2、执行命令./jmsctl.sh check_update,以下为具体过程
三、最终界面--升级成功
注意:因为docker默认存的镜像位置是在/var/lib/docker中,要保证/var的磁盘空间够大,我这里第一次升级因为空间只有5G,连docker旧版和新版images都放不下。导致升级失败,还好我做了逻辑卷可以扩展。附扩展步骤:

Jumpserver介绍

JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。为互联网企业提供了认证,授权,审计,自动化运维等功能。

JumpServer 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。

JumpServer 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。

JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产。

一、安装jumpserver

基于容器部署单台:2核、4G内存、50G硬盘--最低配置

mysql版本大于5.7 redis版本大于6.0

基于docker部署: 环境:10.0.0.136--rocky

1、设置docker.repo

sh
cat /etc/yum.repo.d/docker.repo [docker-ce-stable] name=Docker CE Stable - $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-debuginfo] name=Docker CE Stable - Debuginfo $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-source] name=Docker CE Stable - Sources baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test] name=Docker CE Test - $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-debuginfo] name=Docker CE Test - Debuginfo $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-source] name=Docker CE Test - Sources baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly] name=Docker CE Nightly - $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-debuginfo] name=Docker CE Nightly - Debuginfo $basearch baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-source] name=Docker CE Nightly - Sources baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly enabled=0 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
markdown
#配置阿里云镜像加速: mkdir -p /etc/docker cat /etc/docker/daemon.json { "registry-mirrors": ["https://npud8xro.mirror.aliyuncs.com"] }

2、安装mysql

markdown
docker run --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jumpserver -e MYSQL_USER=jumpserver -e MYSQL_PASSWORD=123456 -d -p 3306:3306 mysql:5.7.30 ###默认的mysql不符合jumpserver配置,需修改。 docker stop mysql 准备相关配置和目录 mkdir -p /etc/mysql/mysql.conf.d/ mkdir -p /etc/mysql/conf.d/ 指定字符集 tee /etc/mysql/mysql.conf.d/mysqld.cnf <<EOF [mysqld] pid-file= /var/run/mysqld/mysqld.pid socket= /var/run/mysqld/mysqld.sock datadir= /var/lib/mysql symbolic-links=0 character-set-server=utf8 EOF tee /etc/mysql/conf.d/mysql.cnf <<EOF [mysql] default-character-set=utf8 EOF 将上面宿主机的设置好的配置文件挂载至MySQL容器 docker run -d -p 3306:3306 --name mysql --restart always -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jumpserver -e MYSQL_USER=jumpserver -e MYSQL_PASSWORD=123456 -v /data/mysql:/var/lib/mysql -v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf mysql:5.7.30 验证mysql docker exec -it mysql sh
markdown
# mysql -p123456 -e 'show variables like "character%"' # mysql -p123456 -e 'show variables like "collation%"' # mysql -p123456 -e 'select user,host from mysql.user'

验证是否可以远程登录: mysql -ujumpserver -p123456 -h10.0.0.136

3、安装redis

shell
docker run -d -p 6379:6379 --name redis --restart always redis:6.2.5 验证redis是否正常连接 redis-cli -h 10.0.0.136

4、生成key,官方有文档

markdown
#!/bin/bash if [ ! "$SECRET_KEY" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY" >> ~/.bashrc; echo SECRET_KEY=$SECRET_KEY; else echo SECRET_KEY=$SECRET_KEY; fi if [ ! "$BOOTSTRAP_TOKEN" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN; else echo BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN; fi

运行脚本,结果显示key和token。 可用tail -n2 ~/.bashrc 查看生成的key和token

注意

5、看官方文档、看官方文档、看官方文档。别人讲的终归是别人讲的也有可能是错的。。。

markdown
地址:https://docs.jumpserver.org/zh/master/install/setup_by_fast/#_3 官网安装命令: cd /opt wget https://github.com/jumpserver/installer/releases/download/v2.27.0/jumpserver-installer-v2.27.0.tar.gz #下载安装包 tar -xf jumpserver-installer-v2.27.0.tar.gz cd jumpserver-installer-v2.27.0 # 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改,这里是已经改过的。jumpserver安装是会根据配置文件自动选择 cat config-example.txt # JumpServer configuration file example. # # 如果不了解用途可以跳过修改此配置文件, 系统会自动填入 # 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/ ################################## 镜像配置 ################################### # # 国内连接 docker.io 会超时或下载速度较慢, 开启此选项使用华为云镜像加速 # 取代旧版本 DOCKER_IMAGE_PREFIX # DOCKER_IMAGE_MIRROR=1 ################################## 安装配置 ################################### # # JumpServer 数据库持久化目录, 默认情况下录像、任务日志都在此目录 # 请根据实际情况修改, 升级时备份的数据库文件(.sql)和配置文件也会保存到该目录 # VOLUME_DIR=/opt/jumpserver # 加密密钥, 迁移请保证 SECRET_KEY 与旧环境一致, 请勿使用特殊字符串 # (*) Warning: Keep this value secret. # (*) 勿向任何人泄露 SECRET_KEY # SECRET_KEY=WoGoMXpkhmTN1lePpx694NysQfCefj8R9jLDuDuQ5W0MO9XCeS # 组件向 core 注册使用的 token, 迁移请保持 BOOTSTRAP_TOKEN 与旧环境一致, # 请勿使用特殊字符串 # (*) Warning: Keep this value secret. # (*) 勿向任何人泄露 BOOTSTRAP_TOKEN # BOOTSTRAP_TOKEN=LcvHUEldOsJ1ZAHO # 日志等级 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.0.136 DB_PORT=3306 DB_USER=jumpserver DB_PASSWORD=123456 DB_NAME=jumpserver ################################# Redis 配置 ################################## # 外置 Redis 需要请输入正确的 Redis 信息, 内置 Redis 系统会自动处理 # REDIS_HOST=10.0.0.136 REDIS_PORT=6379 REDIS_PASSWORD= ################################## 访问配置 ################################### # 对外提供服务端口, 如果与现有服务冲突请自行修改 # 如果不想对外提供访问可以使用 127.0.0.1:<port>, eg: 127.0.0.1:33060 # HTTP_PORT=80 SSH_PORT=2222 MAGNUS_PORTS=30000-30100 ################################# HTTPS 配置 ################################# # 参考 https://docs.jumpserver.org/zh/master/admin-guide/proxy/ 配置 # # USE_LB=1 # HTTPS_PORT=443 # SERVER_NAME=your_domain_name # SSL_CERTIFICATE=your_cert # SSL_CERTIFICATE_KEY=your_cert_key # CLIENT_MAX_BODY_SIZE=4096m ################################## 组件配置 ################################### # 组件注册使用, 默认情况下向 core 容器注册, 集群环境需要修改为集群 vip 地址 # CORE_HOST=http://core:8080 # Task 配置, 是否启动 jms_celery 容器, 单节点必须开启 # USE_TASK=1 # XPack 包, 企业版本自动开启, 开源版本设置无效 # RDP_PORT=3389 # Core Session 定义, # SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, # SESSION_EXPIRE_AT_BROWSER_CLOSE=true 表示关闭浏览器即 session 过期 # # SESSION_COOKIE_AGE=86400 SESSION_EXPIRE_AT_BROWSER_CLOSE=True # Lion 开启字体平滑, 优化体验 # JUMPSERVER_ENABLE_FONT_SMOOTHING=True ################################## 其他配置 ################################## # 终端使用宿主 HOSTNAME 标识, 首次安装自动生成 # SERVER_HOSTNAME=${HOSTNAME} # 当前运行的 JumpServer 版本号, 安装和升级完成后自动生成 # CURRENT_VERSION=

6、安装过程基本都是默认即可。一路回车,安装完毕后./jmctl.sh start启动即可

markdown
# 安装 ./jmsctl.sh install # 启动 ./jmsctl.sh start # 安装完成后配置文件 /opt/jumpserver/config/config.txt cd /opt/jumpserver-installer-v2.27.0 # 启动 ./jmsctl.sh start # 停止 ./jmsctl.sh down # 卸载 ./jmsctl.sh uninstall # 帮助 ./jmsctl.sh -h

7、启动成功后的url:10.0.0.136

默认账户:admin 密码一致。

markdown
创建顺序: 创建登录jumpserver用户,创建组,将用户加进组里。 创建登录服务器的特权用户(root),普通用户, 添加资产--服务器,绑定特权用户和普通用户 测试连接,推送普通用户致服务器,在普通用户界面添加资产 资产授权:授权登录jumpserver的用户可远程访问哪几台服务器。 也可创建审计用户,查看普通用户在服务器的操作、录像、回放、强制踢人等操作。

8、先创建命令过滤器再创建里面的规则,不允许普通用户删除文件、远程其他服务器等操作

9、也支持使用特定格式导入导出资产列表

10、详细过程

1、 2、 3、

二、升级jumpserver

1、查看jumpserver升级帮助

markdown
#程序包内的执行程序帮助里讲的很清楚,执行命令即可 ./jmsctl.sh -h #执行这条命令查看升级选项,这里发现check_update为检查和升级选项,执行即可 JumpServer Deployment Management Script Usage: ./jmsctl.sh [COMMAND] [ARGS...] ./jmsctl.sh --help Installation Commands: install Install JumpServer upgrade [version] Upgrade JumpServer check_update Check for updates JumpServer reconfig Reconfiguration JumpServer Management Commands: start Start JumpServer stop Stop JumpServer close Close JumpServer restart Restart JumpServer status Check JumpServer down Offline JumpServer uninstall Uninstall JumpServer More Commands: load_image Loading docker image backup_db Backup database restore_db [file] Data recovery through database backup file raw Execute the original docker-compose command tail [service] View log

2、执行命令./jmsctl.sh check_update,以下为具体过程

1、 2、 3、 4、 5、 6、 7、

三、最终界面--升级成功

警告

注意:因为docker默认存的镜像位置是在/var/lib/docker中,要保证/var的磁盘空间够大,我这里第一次升级因为空间只有5G,连docker旧版和新版images都放不下。导致升级失败,还好我做了逻辑卷可以扩展。附扩展步骤:

markdown
#扩容前 [root@rocky ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 18M 1.8G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/rl_rocky-root 10G 2.5G 7.6G 25% / /dev/mapper/rl_rocky-var 5.0G 4.9G 163M 97% /var /dev/mapper/rl_rocky-opt 20G 240M 20G 2% /opt /dev/mapper/rl_rocky-data 10G 334M 9.7G 4% /data /dev/nvme0n1p1 1014M 216M 799M 22% /boot tmpfs 371M 0 371M 0% /run/user/0 #虚拟机添加完硬盘开始扩容 #创建物联卷 [root@rocky ~]# pvcreate /dev/nvme0n2 Physical volume "/dev/nvme0n2" successfully created. #扩容卷组 [root@rocky ~]# vgextend rl_rocky /dev/nvme0n2 Volume group "rl_rocky" successfully extended #逻辑卷扩容 [root@rocky ~]# lvextend -L +15G /dev/rl_rocky/var Size of logical volume rl_rocky/var changed from 5.00 GiB (1280 extents) to 20.00 GiB (5120 extents). Logical volume rl_rocky/var successfully resized. #结果,更新文件系统 [root@rocky ~]# xfs_growfs /dev/rl_rocky/var meta-data=/dev/mapper/rl_rocky-var isize=512 agcount=4, agsize=327680 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=1310720, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 1310720 to 5242880 #查看扩容结果 [root@rocky ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.8G 0 1.8G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 18M 1.8G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/rl_rocky-root 10G 2.5G 7.6G 25% / /dev/mapper/rl_rocky-var 20G 5.0G 16G 25% /var /dev/mapper/rl_rocky-opt 20G 240M 20G 2% /opt /dev/mapper/rl_rocky-data 10G 334M 9.7G 4% /data /dev/nvme0n1p1 1014M 216M 799M 22% /boot tmpfs 371M 0 371M 0% /run/user/0
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:笑一个吧~

本文链接:

版权声明:本文为博主「笑一个吧~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。