写点什么

【Linux】之 Jumpserver 堡垒机的部署 _ 搭建

作者:A-刘晨阳
  • 2023-04-28
    北京
  • 本文字数:3487 字

    阅读完需:约 11 分钟

Jumpserver 概述

  • Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。JumpServer 现已支持管理 SSH、 Telnet、 RDP、 VNC 协议资产

  • 功能:

    1. 精确记录操作命令

    2. 支持批量文件上传下载

    3. 支持主机搜索登录

    4. 支持批量命令执行(Ansible 完成)

    5. 支持 WebTerminal 连接主机

    6. 支持 Web 端批量命令执行

    7. 支持录像回放

    8. 支持硬件信息如 cpu,内存等抓取

    9. 支持资产 Excel 导入导出

    10. 支持资产批量更改

    11. 支持系统用户的批量推送(Ansible 实现)

    12. 支持用户,主机,用户组,主机组,系统用户混合细颗粒授权

    13. 支持 sudo 管理

    14. 支持命令统计和命令搜索

    15. 支持上传下载文件审计

    16. 支持终止用户连接

    17. 支持各种搜索

    18. 其他

  • Jumpserver 后端主要技术是 LDAP,配置了 LDAP 集中认证服务器, 所有服务器的认证都是由 ldap 完成的。其做法是:每个用户一个密码,把密码加密放到了数据库中,当用户输入 IP 从跳板机登陆服务器的时候,跳板机系统取出密码,并解密,通过 pexpect 模块将密码发送过去,来完成登录。

  • (LDAP 是轻量目录访问协议,英文全称是 Lightweight Directory Access Protocol,一般都简称为 LDAP。它是基于 X.500 标准的,但是简单多了并且可以根据需要定制。与 X.500 不同,LDAP 支持 TCP/IP,这对访问 Internet 是必须的。LDAP 的核心规范在 RFC 中都有定义,所有与 LDAP 相关的 RFC 都可以在 LDAPman RFC 网页中找到。)


特色优势:

  • 开源:零门槛,线上快速获取和安装;

  • 分布式:轻松支持大规模并发访问;

  • 无插件:仅需浏览器,极致的 Web Terminal 使用体验;

  • 多云支持:一套系统,同时管理不同云上面的资产;

  • 云端存储:审计录像云端存储,永不丢失;

  • 多租户:一套系统,多个子公司和部门同时使用;

  • 多应用支持:数据库,Windows 远程应用,Kubernetes。



环境需求

  • 首先准备一台 4 核 8G (最低)且可以访问互联网的 64 位 Linux 主机;

  • 其次就是部署需要 root 用户,最好使用新环境来部署,因为会有不是新的环境会有冲突的情况,所以建议使用新环境来部署;

  • 关闭 iptables,关闭 selinux ;

  • 需要 wget git curl....几个命令;


yum -y install wget git curl
复制代码


首先具备这几个条件,完了就是安装部署。

在线部署 Jump server

  部署方式有很多种:有在线部署,也有离线部署;也有在 linux 中部署、在 Windows 中部署、在 macOS 中部署的;也有手动部署、一键部署、源码部署、Helm 部署、Allinone 部署;看自己选哪个,其他部署文档可参考官网:Jumpserver官网部署文档这里我们选择一键部署就可以,脚本可以直接拉取官网的;


拉取官网脚本并且执行安装操作:


curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.25.1/quick_start.sh | bash
复制代码


中途有的地方需要自己确认,会问你选择默认还是其他,不输入则自动选择默认;配置文件位置: /opt/jumpserver/config/config.txt


脚本安装步骤:


  1. 检查配置文件

  2. 安装 docker 和 docker-compose

  3. 配置 dokcer

  4. 启动 docker 并设置开机自启

  5. 加载 docker 镜像(去拉取镜像 redis、mariadb、web、core、koko、lion、magnus)

  6. 安装 Jumpserver 6.1、配置加密密钥 6.2、配置持久化目录 6.3、配置 MySQL 6.4、配置 Redis 6.5、配置对外端口 6.6、初始化数据库


7.安装完成(以及相关信息)


页面访问:http://ip:80初始账号密码:admin admin



进入页面之后可查看页面访问操作操作


jumpserver 的命令及解析


cd /opt/jumpserver-installer-v2.25.1
# 安装Jump server./jmsctl.sh install
# 升级Jump server./jmsctl.sh upgrade [version]
# 监测当前版本号./jmsctl.sh check_update
# 启动Jump server./jmsctl.sh start
# 停止Jump server./jmsctl.sh stop
#关闭Jump server./jmsctl.sh close
#重启Jump server./jmsctl.sh restart
#检查Jump server的运行状态./jmsctl.sh status
# 卸载Jump server./jmsctl.sh uninstall
# 帮助(查看命令参数详情)./jmsctl.sh -h
复制代码

离线部署 Jump server

从飞致云社区 下载最新的 linux/amd64 离线包, 并上传到部署服务器的 /opt 目录;离线包大概(1.5G)。


注意:下载时需要注册、登录一下




#将下载的包传到/opt目录mv jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz /opt/
#切换到/opt目录cd /opt
#解压jumpserver压缩包tar -xf jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz
#重命名jumpserver-offline-installer-v2.25.2-amd64-67为jumpservermv jumpserver-offline-installer-v2.25.2-amd64-67 jumpserver
#进入jumpserver的目录cd /opt/jumpserver
复制代码


# 根据需要修改配置文件模板, 如果不清楚用途可以跳过修改cat config-example.txt
复制代码


# 以下设置如果为空系统会自动生成随机字符串填入## 迁移请修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 为原来的设置## 完整参数文档 https://docs.jumpserver.org/zh/master/admin-guide/env/
## 配置 Docker 镜像加速, 不同的架构请参考安装文档# DOCKER_IMAGE_PREFIX=
## 安装配置VOLUME_DIR=/opt/jumpserverDOCKER_DIR=/var/lib/dockerSECRET_KEY=BOOTSTRAP_TOKEN=LOG_LEVEL=ERROR
## MySQL 配置, USE_EXTERNAL_MYSQL=1 表示使用外置数据库, 请输入正确的 MySQL 信息USE_EXTERNAL_MYSQL=0DB_HOST=mysqlDB_PORT=3306DB_USER=rootDB_PASSWORD=DB_NAME=jumpserver
## Redis 配置, USE_EXTERNAL_REDIS=1 表示使用外置数据库, 请输入正确的 Redis 信息USE_EXTERNAL_REDIS=0REDIS_HOST=redisREDIS_PORT=6379REDIS_PASSWORD=
## Compose 项目设置, 如果 192.168.250.0/24 网段与你现有网段冲突, 请修改然后重启 JumpServerCOMPOSE_PROJECT_NAME=jmsCOMPOSE_HTTP_TIMEOUT=3600DOCKER_CLIENT_TIMEOUT=3600DOCKER_SUBNET=192.168.250.0/24
## IPV6 设置, 容器是否开启 ipv6 nat, USE_IPV6=1 表示开启, 为 0 的情况下 DOCKER_SUBNET_IPV6 定义不生效USE_IPV6=0DOCKER_SUBNET_IPV6=fc00:1010:1111:200::/64
## 访问配置HTTP_PORT=80SSH_PORT=2222MAGNUS_MYSQL_PORT=33060MAGNUS_MARIADB_PORT=33061
## 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
## Nginx 文件上传大小CLIENT_MAX_BODY_SIZE=4096m
## Task 配置, 是否启动 jms_celery 容器, 单节点必须开启USE_TASK=1
## XPack, USE_XPACK=1 表示开启, 开源版本设置无效USE_XPACK=0RDP_PORT=3389MAGNUS_POSTGRE_PORT=54320TCP_SEND_BUFFER_BYTES=4194304TCP_RECV_BUFFER_BYTES=6291456
# Core 配置, Session 定义, SESSION_COOKIE_AGE 表示闲置多少秒后 session 过期, SESSION_EXPIRE_AT_BROWSER_CLOSE=True 表示关闭浏览器即 session 过期# SESSION_COOKIE_AGE=86400SESSION_EXPIRE_AT_BROWSER_CLOSE=True
# Koko Lion XRDP 组件配置CORE_HOST=http://core:8080JUMPSERVER_ENABLE_FONT_SMOOTHING=True
## 终端使用宿主 HOSTNAME 标识SERVER_HOSTNAME=${HOSTNAME}
# 额外的配置CURRENT_VERSION=
复制代码


安装 jumpserver,安装时需要手动给路径问你是选择默认呢还是什么,默认的话可以直接回车就好;唯一一点好的是比在线安装快,因为在线安装需要拉取镜像特别慢,这个只需要下载”jumpserver-offline-installer-v2.25.2-amd64-67.tar.gz“离线包即可;


# 安装./jmsctl.sh install
# 启动./jmsctl.sh start
复制代码


安装完成,启动完成之后,页面访问:ip 地址就行,因为默认端口是 80;


安装完成之后会给你说:



默认账号密码是 admin admin


进入页面之后可查看页面访问操作操作


配置文件位置: /opt/jumpserver/config/config.txt


jumpserver 的命令及解析


#进入jumpserver的目录cd /opt/jumpserver
# 安装Jump server./jmsctl.sh install
# 升级Jump server./jmsctl.sh upgrade [version]
# 监测当前版本号./jmsctl.sh check_update
# 启动Jump server./jmsctl.sh start
# 停止Jump server./jmsctl.sh stop
#关闭Jump server./jmsctl.sh close
#重启Jump server./jmsctl.sh restart
#检查Jump server的运行状态./jmsctl.sh status
# 卸载Jump server./jmsctl.sh uninstall
# 帮助(查看命令参数详情)./jmsctl.sh -h
复制代码

页面访问操作

页面访问:http://ip:80



默认账号密码是 admin admin;第一次登录需要修改一下密码;可根据自己的情况来定密码;







到这就完成了安装,相关文章请看下方!



发布于: 刚刚阅读数: 3
用户头像

A-刘晨阳

关注

还未添加个人签名 2022-06-16 加入

本人公众号《小刘Linux》,优质博主,欢迎大家的关注

评论

发布
暂无评论
【Linux】之Jumpserver堡垒机的部署_搭建_Linux_A-刘晨阳_InfoQ写作社区