从零到一教你部署JumpServer

Linux其他教程文章可以访问本人博客
https://blog.yangwn.top/index.php/archives.html

JumpServer项目简介

#项目简介
JumpServer是全球首款开源的堡垒机

#项目地址
https://github.com/jumpserver/jumpserver

#项目部署官方文档
https://docs.jumpserver.org/zh/master/

#堡垒机比跳板机多了日志收集、实时监控、集中报警的功能

使用官方脚本部署

  • 部署前准备
#部署要求
全新安装的 Centos7.x
需要连接互联网
使用root用户执行

#部署版本适用于
v2.7.1

#关闭防火墙和selinux
systemctl disable firewalld.service
systemctl stop firewalld.service
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

#关闭了selinux需要重启服务器生效
reboot

#不需要安装docker(脚本会自动安装docker)
  • 开始部署JumpServer
#设置容器镜像下载服务变量
export DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com

#下载并且解压JumpServer 
cd /opt
wget https://github.com/jumpserver/installer/releases/download/v2.7.1/jumpserver-installer-v2.7.1.tar.gz
tar -xf jumpserver-installer-v2.7.1.tar.gz
cd jumpserver-installer-v2.7.1

#配置文件(默认不修改也可以)
vim config-example.txt

#使用方式
./jmsctl.sh install       #安装
./jmsctl.sh check_update  #更新

#安装结束
>>> 安装完成了
1. 可以使用如下命令启动
./jmsctl.sh start

2. 其它一些管理命令
./jmsctl.sh stop
./jmsctl.sh restart
./jmsctl.sh backup
./jmsctl.sh upgrade
./jmsctl.sh --help 

3. Web访问
http://192.168.1.7:8080
https://192.168.1.7:8443
默认用户: admin  默认密码: admin

4. SSH/SFTP访问
ssh [email protected] -p2222
sftp -P2222 [email protected]

使用官方容器部署

  • 部署前准备
#部署要求
全新安装的 Centos7.x

#部署版本适用于
v1.4.5 至 v2.7.1

#关闭防火墙和selinux
systemctl disable firewalld.service
systemctl stop firewalld.service
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

#关闭了selinux需要重启服务器生效
reboot

#yum源准备(必须有epel、Base、docker-ce源)
wget -O /tmp/system.sh https://index.swireb.cn/shell/system.sh && sh /tmp/system.sh #通过脚本优化yum源(使用的为阿里云yum仓库)
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all && yum makecache

#安装docker
yum -y install docker-ce 
systemctl daemon-reload && systemctl enable --now docker

#配置docker镜像加速
vi /etc/docker/daemon.json
{
    
    
  "registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"],
  "live-restore": true 
}

systemctl daemon-reload && systemctl restart docker
  • 开始部署JumpServer
#生成随机SECRET_KEY(会写入环境变量文件中)
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 

#生成随机BOOTSTRAP_TOKEN(会写入环境变量文件中)
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

#宿主机创建目录用于容器挂载数据库
mkdir -p /opt/jumpserver/{
    
    data,mysql}

#使用内置数据库和redis(一种是使用bridge的网络模式、一种是使用的host的网络模式、任选其一)
docker run --name jms_all -d \
  -p 80:80 -p 2222:2222 \
  -e SECRET_KEY=$SECRET_KEY \
  -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=jumpserver \
  -e DB_NAME=jumpserver \
  -v /opt/jumpserver/data:/opt/jumpserver/data \
  -v /opt/jumpserver/mysql:/var/lib/mysql \
  jumpserver/jms_all

docker run --name jms_all -d --network host \
  -e SECRET_KEY=$SECRET_KEY \
  -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
  -e DB_USER=jumpserver \
  -e DB_PASSWORD=jumpserver \
  -e DB_NAME=jumpserver \
  -v /opt/jumpserver/data:/opt/jumpserver/data \
  -v /opt/jumpserver/mysql:/var/lib/mysql \
  jumpserver/jms_all
  
#使用外置数据库和redis(MySQL >= 5.7  Redis >= 5.0  MariaDB >= 10.2)
docker run --name jms_all -d \
  -p 80:80 -p 2222:2222 \
  -e SECRET_KEY=$SECRET_KEY \
  -e BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN \
  -v /opt/jumpserver/data:/opt/jumpserver/data \
  -e DB_HOST=IP \               #指定数据库地址(外置数据库地址)
  -e DB_PORT=3306 \             #指定数据库端口
  -e DB_USER=jumpserver \       #指定数据库用户
  -e DB_PASSWORD=jumpserver \   #指定数据库密码
  -e DB_NAME=jumpserver \       #指定数据库名称
  -e REDIS_HOST=IP \            #指定redis地址(外置redis地址)
  -e REDIS_PORT=6379 \          #指定redis端口
  -e REDIS_PASSWORD= \          #指定redis密码(可以为空)  
  jumpserver/jms_all
  
#使用外置mysql创建数据库(安装自行百度)
create database jumpserver default charset 'utf8' collate 'utf8_bin';
grant all on jumpserver.* to 'jumpserver'@'%' identified by 'jumpserve';

访问JumpServer

#访问地址
http://IP

#访问密码
admin
admin

#初次访问的时候加载的有点慢(等待一会即可)
第一次登录的时候必须修改admin用户的密码

image-20210308170310113

猜你喜欢

转载自blog.csdn.net/qq_41938046/article/details/114539739