缺德地图持续迷路

  • 简述
  • 一、无脑快捷部署
  • 二、简单快捷部署
  • 关于setuptools的说明
  • 关于组件安装失败的问题


本系列的全部内容为个人总结内容,皆源于JumpServer官网和其推出的教学课程。

JumpServer官网:https://www.jumpserver.org/

JumpServer官方文档: https://docs.jumpserver.org/zh/master/

JumpServer在B站发布的课程: https://www.bilibili.com/video/BV19D4y1S7s4/

简述

关于极速部署JumpServer,其实非常简单,只需要寥寥几步就可以完成部署工作,这里介绍两种部署方式,根据情况选择。

简单说一下环境,我这里采用的是阿里云主机,Centos7.6的发行版本,在此基础上进行部署的。

以下两种方法均在联网环境下进行,离线安装包可选择企业版或分别安装各组件。

一、无脑快捷部署

一条命令直接搞定

curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.5.3/quick_start.sh | sh

部署完成后,会在终端界面上显示访问的URL和用户密码,按照提示访问即可。

我还是不建议使用这种方式的,全部配置都采用了默认,如果可以的话,最好能够根据需要修改一下端口之类的配置,这也就是第二种。

二、简单快捷部署

关于setuptools的说明

简单快捷部署就是采用jumpserver官网提供的安装工具包,我们需要了解的是:从 v2.6 开始 setuptools 不再维护,它的工作由 https://github.com/jumpserver/installer 来完成,installer 统一了社区和企业版的安装,并且可以做到无缝迁移。

GitHub地址:https://github.com/jumpserver/setuptools

基础准备

cd /opt 
yum -y install wget git #下载工具
git clone --depth=1 https://github.com/jumpserver/setuptools.git #克隆JumpServer工具包,此过程有些缓慢,需耐心等待
cd setuptools
cp config_example.conf config.conf	#修改配置文件名称

完成后就可以修改配置了,以下列举的是默认的配置文件,可以根据需求更改

vi config.conf
# 以下设置默认情况下不需要修改, 系统会自动生成随机字符串填入

# 需要安装的版本
Version=v2.5.3

# Jms 加密配置
SECRET_KEY=
BOOTSTRAP_TOKEN=

# 数据库 配置, 如果 数据库 安装在其他的服务器, 请修改下面设置
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=jumpserver
DB_PASSWORD=
DB_NAME=jumpserver

# Redis 配置, 如果 Redis 安装在其他的服务器, 请修改下面设置
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PASSWORD=

# 服务端口设置, 如果云服务器未备案请修改 http_port 端口为其他端口
http_port=80
ssh_port=2222

# 服务安装目录
install_dir=/opt

Server_IP=$(ip addr | grep 'state UP' -A2 | grep inet | egrep -v '(127.0.0.1|inet6|docker)' | awk '{print $2}' | tr -d "addr:" | head -n 1 | cut -d / -f1)
Docker_IP=$(ip addr | grep docker.* | grep inet | awk '{print $2}' | head -n 1)
if [ ! "$Server_IP" ]; then
    Server_IP=$(hostname -I | cut -d ' ' -f1)
fi

这里我修改一下http和ssh端口号,关于MySQL和Redis空密码的情况,后续JumpServer会自动生成一串字符,这个可以不用理会。

jumpserver安装创建mysql授权过程 jumpserver部署教程_堡垒机

接下来,就开始执行安装脚本了

jumpserver安装创建mysql授权过程 jumpserver部署教程_docker_02

其中jmsctl.sh为JumpServer的安装脚本,通过-h查看帮助

[root@JumpServer setuptools]# ./jmsctl.sh -h
       __                     _____
      / /_  ______ ___  ____ / ___/___  ______   _____  _____
 __  / / / / / __ `__ \/ __ \\__ \/ _ \/ ___/ | / / _ \/ ___/
/ /_/ / /_/ / / / / / / /_/ /__/ /  __/ /   | |/ /  __/ /
\____/\__,_/_/ /_/ /_/ .___/____/\___/_/    |___/\___/_/
                    /_/

					 Version:  v2.5.3  

JumpServer 部署安装脚本

Usage: 
  jmsctl [COMMAND] ...
  jmsctl --help

Commands: 
  install      安装 JumpServer
  start        启动 JumpServer
  stop         停止 JumpServer
  restart      重启 JumpServer
  status       检查 JumpServer
  uninstall    卸载 JumpServer
  upgrade      升级 JumpServer
  reset        重置组件

安装JumpServer

./jmsctl.sh install

期间组件安装较多,需耐心等待,其中关于JumpServer的几个核心组件,是基于Docker运行的。

jumpserver安装创建mysql授权过程 jumpserver部署教程_IP_03


最终结果显示以下内容,就代表部署完成了

jumpserver安装创建mysql授权过程 jumpserver部署教程_IP_04


启动JumpServer

[root@JumpServer setuptools]# ./jmsctl.sh start
       __                     _____
      / /_  ______ ___  ____ / ___/___  ______   _____  _____
 __  / / / / / __ `__ \/ __ \\__ \/ _ \/ ___/ | / / _ \/ ___/
/ /_/ / /_/ / / / / / / /_/ /__/ /  __/ /   | |/ /  __/ /
\____/\__,_/_/ /_/ /_/ .___/____/\___/_/    |___/\___/_/
                    /_/

					 Version:  v2.5.3  

MySQL   start 	........................ [ OK ]
Redis   Start 	........................ [ OK ]
Docke.  Start 	........................ [ OK ]
Core    Start 	........................ [ OK ]
Koko    Start 	........................ [ OK ]
Guaca.  Start 	........................ [ OK ]
Nginx   Start 	........................ [ OK ]

MySQL   Check 	........................ [ OK ]
Redis   Check 	........................ [ OK ]
Docke.  Check 	........................ [ OK ]
Nginx   Check 	........................ [ OK ]
Py3     Check 	........................ [ OK ]
Core    Check 	........................ [ OK ]
Koko    Check 	........................ [ OK ]
Guaca.  Check 	........................ [ OK ]

JumpServer 启动成功! 
Web 登陆信息: http://192.168.0.192:180
SSH 登录信息: ssh admin@192.168.0.192 -p12222
初始用户名密码: admin admin 

[如果你是云服务器请在安全组放行 180 和 12222 端口]

因为是采用云主机的原因,JumpServer只能检测到内网IP,这里我们通过公网IP访问,加上我们配置好的端口。

jumpserver安装创建mysql授权过程 jumpserver部署教程_JumpServer_05


以上JumpServer极速部署就完成了。

关于组件安装失败的问题

有时JumpServer的核心组件并不能全部启动,我在部署的过程中就遇到了Core组件ERROR的问题。

jumpserver安装创建mysql授权过程 jumpserver部署教程_docker_06


这种情况遇到了很多次,在脚本中就有很好的解决方法

jumpserver安装创建mysql授权过程 jumpserver部署教程_docker_07


可以通过脚本重置JumpServer的组件,就比如说重置core

./jmsctl.sh reset core

当这个行不通的时候,可以重置所有组件

./jmsctl.sh reset all

这里说的所有组件,其实是JumpServer的几个核心组件,不会影响其他插件,在我看来就是通过Docker重新拉取一遍镜像启动而已。