Docker启动jumpserver堡垒机

jumpserver

jumpserver 是全球首款完全开源、符合 4A 规范(包含认证Authentication 、授权 Authorization、账号 Accounting 和审计 Auditing)的运维安全审计系统,Jumpserver 通过软件订阅服务或者软硬件一体机的方式,向企业级用户交付多云环境下更好用的堡垒机。

与传统堡垒机相比, Jumpserver 采用了分布式架构设计,支持多云环境并可灵活扩展。资产管理方面, Jumpserver 无并发和资产数量限制,支持水平扩容。 Jumpserver 采用了业界领先的容器化部署方式,并且提供体验极佳的 Web Terminal 。 Jumpserver 还可实现基于 Web 的文件传输,并且支持用户将运维审计录像保存在云端(例如 AWS S3 、阿里云 OSS 、 ElasticSearch 等)。

堡垒机,也叫做运维安全审计系统,它的核心功能是 4A:
1、身份验证 Authentication
2、账号管理 Account
3、授权控制 Authorization
4、安全审计 Audit

简单总结一句话:堡垒机是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)

启动jumpserver需要MySQL、Redis。这些我在这里用docker启动
外置数据库要求:
1、mysql 版本需要大于等于 5.6
2、mariadb 版本需要大于等于 5.5.6
3、数据库编码要求 uft8

mysql

mkdir -p /data/mysql/data
docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=abcd@1234  -p 3306:3306 -v /data/mysql/data:/var/lib/mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

创建jumpserver数据库和jumpserver用户名

# docker exec -it mysql /bin/bash
# mysql -u root -pabcd@1234
mysql> create database jumpserver default charset 'utf8mb4';
mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'qwe@123456';
mysql> flush privileges;
mysql> exit;

redis

mkdir -p /data/redis/data
docker search redis
docker pull docker.io/redis
docker run -d -it --name redis -p 6379:6379 -v /data/redis/data:/data --restart=always  --sysctl net.core.somaxconn=1024  docker.io/redis:latest  --requirepass  "qwe123"

jumpserver的docker启动

Jumpserver 封装了一个 All in one Docker, 可以快速启动。该镜像集成了所需要的组件, 支持使用外置 Database 和 Redis

一、生成随机加密密钥

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; else echo $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; else echo $BOOTSTRAP_TOKEN; fi

二、下载jumpserver镜像:

docker search jumpserver
docker pull docker.io/jumpserver/jms_all

启动jumpserver容器

]# mkdir -p /data/jumpserver
]# docker run -d --name jumpserver -h jumpserver --restart=always  \
-v /data/jumpserver:/opt/jumpserver/data/media \
-p 8181:80 \
-p 2222:2222 \
-e SECRET_KEY=$SECRET_KEY \
-e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
-e DB_HOST=192.168.189.130 \	#IP地址
 -e DB_PORT=3306 \	#数据库端口
 -e DB_USER=jumpserver \ 	#数据库用户
 -e DB_PASSWORD="qwe@123456" \ #用户密码
 -e DB_NAME=jumpserver \ #连接的数据路名
 -e REDIS_HOST=192.168.189.130  \  #RedisIP地址
 -e REDIS_PORT=6379 \ 		#Redis端口
 -e REDIS_PASSWORD="qwe123 " \ #设置的密码
 docker.io/jumpserver/jms_all:latest

-e 指定环境变量,注意修改mysql和redis的ip地址和密码。

查看jumpserver启动日志

# docker logs -f jumpserver 
2020-01-09 20:02:18 Thu Jan  9 20:02:18 2020
2020-01-09 20:02:18 Jumpserver version 1.5.6, more see https://www.jumpserver.org
2020-01-09 20:02:18 Check database connection ...
users
 [ ] 0001_initial
...
Starting guacd: SUCCESS
Tomcat started.
Jumpserver ALL 1.5.6
官网 http://www.jumpserver.org
文档 http://docs.jumpserver.org
有问题请参考 http://docs.jumpserver.org/zh/docs/faq.html

进入容器命令 docker exec -it jms_all /bin/bash

访问网页

浏览器访问: http://<容器所在服务器IP>:端口号
SSH 访问: ssh -p 2222 <容器所在服务器IP>
XShell 等工具请添加 connection 连接, 默认 ssh 端口 2222
默认管理员账户 admin 密码 admin
在这里插入图片描述

如果是windows访问虚拟机里从docker失败:
docker容器是运行在docker虚拟机中的,宿主机上没有通往docker容器的路由。需要在宿主机上添加前往docker容器的路由。

在windows的cmd页面输入命令:

route add -p 172.17.0.0 mask 255.255.0.0 192.168.189.130 #p参数是永久有效

可以参考jumpserver官方文档:
https://docs.jumpserver.org/zh/master/install/docker_install/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker是一种流行的容器化技术,可以帮助我们更轻松地部署和管理应用程序。要在Docker中部署JumpServer,您可以按照以下步骤操作: 1. 安装DockerDocker Compose 2. 下载JumpServerDocker Compose文件 3. 修改Docker Compose文件中的配置,例如数据库密码和管理员账户密码 4. 运行Docker Compose命令,启动JumpServer容器 5. 访问JumpServer的Web界面,进行初始化设置和管理 需要注意的是,部署JumpServer需要一定的技术水平和经验,如果您不熟悉DockerJumpServer的配置和管理,建议先学习相关知识或寻求专业人士的帮助。 ### 回答2: Docker是一种流行的容器化技术,能够实现快速、可靠的应用程序部署。Jumpserver是一种远程连接管理工具,可让用户通过Web界面安全地远程连接到受控节点。下面将介绍如何使用Docker部署Jumpserver。 1. 首先需要安装Docker,可以在官网上下载。安装成功后,可以通过docker version命令检查版本。 2. 下载Jumpserver Docker镜像。可以从Docker Hub上下载Jumpserver镜像,使用以下命令: ``` docker pull jumpserver/jumpserver ``` 3. 创建Jumpserver容器。使用以下命令创建Jumpserver容器: ``` docker run --name jumpserver -d --restart=always \ -p 80:80 -p 2222:2222 -p 50000-50100:50000-50100 \ -v /config:/opt/jumpserver/data \ -v /logs:/opt/jumpserver/logs \ -v /ssh:/opt/jumpserver/ssh \ --env DB_HOST=<DB_HOST> \ --env DB_PORT=<DB_PORT> \ --env DB_NAME=<DB_NAME> \ --env DB_USER=<DB_USER> \ --env DB_PASSWORD=<DB_PASSWORD> \ jumpserver/jumpserver ``` 注意:需要将<DB_HOST>、<DB_PORT>、<DB_NAME>、<DB_USER>和<DB_PASSWORD>替换为实际的数据库连接信息。 4. 初始化Jumpserver。使用以下命令初始化Jumpserver: ``` docker exec -it jumpserver /bin/bash cd /opt/jumpserver/utils && sh make_migrations.sh && sh make_ssh_keys.sh && sh init_db.sh ``` 5. 配置Nginx反向代理。可以通过安装Nginx并配置反向代理来实现对Jumpserver的访问控制和SSL加密。 6. 登录Jumpserver。在浏览器中访问Jumpserver的IP地址或域名以登录。默认管理员用户名为admin,密码为admin。 通过上述步骤,我们可以快速、可靠地部署Jumpserver,并实现远程连接管理。Docker的容器化技术为Jumpserver的部署提供了便利性和灵活性,大大提高了部署效率和管理效率。 ### 回答3: JumpServer 是一个全球领先的开源堡垒,为企业提供安全、快速、便捷的远程访问解决方案。Docker 能够将应用程序及其依赖项打包为容器,使应用程序可以在任何环境中运行。因此,将 JumpServer 部署到 Docker 上能够让部署变得更为简单、易用、灵活,同时也方便了版本控制和管理。 部署步骤: 1. 准备Docker环境。首先确保Docker环境已正确安装到服务器上; 2. 配置数据库。JumpServer对应用程序数据进行了分离,需要单独配置数据库。可以使用如下命令来启动数据库容器: ``` docker run --name mysql -e MYSQL_ROOT_PASSWORD=jumpserver -p 3306:3306 -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci ``` 其中 "-e" 参数可以指定 Mysql 的 root 密码,"-p" 参数可以将容器内部的 3306 端口映射到宿主上的 3306 端口。 3. 配置Redis容器。使用下列命令启动 Redis 容器: ``` docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes ``` 4. 准备JumpServer容器。首先拉取JumpServer 镜像,可以在官方网站或镜像库中查找相应版本的 JumpServer 镜像; 5. 启动JumpServer容器。可以使用下列命令启动 JumpServer 容器: ``` docker run --name jms -d -p 80:80 -p 2222:2222 -e DB_HOST=host.docker.internal -e DB_PASSWORD=jumpserver -e JUMP_SERVER_HOST=your.jump.server.com -e SECRET_KEY=jumpserver -e BOOTSTRAP_TOKEN=your_boostrap_token --link mysql:mysql --link redis:redis jumpserver/jms_all:latest ``` 其中 "-d" 参数表示容器会以后台运行,"-p" 参数可以将容器内部的 80 端口映射到宿主上的 80 端口和映射容器内的 2222 端口到宿主上的 2222 端口,"-e" 参数可以设置 JumpServer 环境变量,例如数据库主地址、密码、JumpServer 站点地址等。 6. 查看JumpServer。等待 JumpServer 容器启动后,可以在浏览器中输入映射过的本地地址(例如localhost或ip地址)来访问JumpServer安装页面。 总结 使用Docker 部署 JumpServer 能够让应用程序跨平台运行,方便开发与管理。同时,可以使用 Docker Compose 管理多个容器,达到快速搭建高可用的应用程序的效果。需要注意的是,在使用Docker或其他虚拟化技术时,容器内部的 IP 地址与外部会存在不一致的问题,可以通过端口映射和环境变量等方法进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值