centos7下jumpserver部署,多个koko组件分布式部署。

jumpserver堡垒机官方地址:
https://docs.jumpserver.org/zh/docs/index.html

本次使用centos7的系统,属于测试阶段,由于服务器数量不足,部署方案为,一台服务器部署jumpserver服务和koko组件,另一台单独部署koko组件,与jumpserver服务器连通。
koko属于一个ssh连接代理组件。

本次部署是使用docker和docker-compose部署。
服务器初始化脚本:

#!/bin/bash
#修改hostname
read -p "请输入主机名:" host
hostnamectl set-hostname $host
#安装常用工具
yum -y install vim git wget lrzsz telnet net-tools lsof bind-utils-9.11.4-9.P2.el7.x86_64
#禁用selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
#安装docker-ce,设置开机自启动
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl enable docker
systemctl start docker
#配置docker的存储位置到/data/docker目录下,提前创建好/data/docker目录,并限制容器日志的大小为1024M ,最大文件保留数为3个。
cat>/etc/docker/daemon.json<

docker环境安装好之后开始部署jumpserver服务。我们部署在/data目录下。
参考docker-compose部署的文档。
https://github.com/wojiushixiaobai/docker-compose
拉取Git仓库。

$ git clone https://github.com/wojiushixiaobai/docker-compose.git
$ cd /data/docker-compose
$ cat .env

在这个Git仓库中包含了jumpserver服务器的所有组件,.env是环境变量。理论上如果不需要部署分布式的话,直接启动服务就完成了安装,启动命令为docker-compose up -d 。如下

$ cd /data/docker-compose
$ docker-compose up -d 

通过服务器的80端口即可访问,管理员的用户名密码都为admin。
ssh 登录的话,默认koko的端口是2222,所以

ssh -p 2222 admin@IP 

输入密码即可。

分布式部署koko的话,docker-compose 文件需要做一些改动。
需要暴露并映射出core服务的8080端口,在core服务中添加以下两行

    ports:
      - 8080:8080

参考:

    image: wojiushixiaobai/jms_core:${Version}
    container_name: jms_core
    restart: always
    tty: true
    environment:
      SECRET_KEY: $SECRET_KEY
      BOOTSTRAP_TOKEN: $BOOTSTRAP_TOKEN
      DB_HOST: $DB_HOST
      DB_PORT: $DB_PORT
      DB_USER: $DB_USER
      DB_PASSWORD: $DB_PASSWORD
      DB_NAME: $DB_NAME
      REDIS_HOST: $REDIS_HOST
      REDIS_PORT: $REDIS_PORT
      REDIS_PASSWORD: $REDIS_PASSWORD
    ports:
      - 8080:8080
    depends_on:
      - mysql
      - redis
    volumes:
      - static:/opt/jumpserver/data/static
      - media:/opt/jumpserver/data/media
    networks:
      - jumpserver

docker-compose.yml文件修改好之后我们可以启动服务。

$ cd /data/docker-compose
$ docker-compose up -d 

可以看到服务已经启动,jms_core的端口为8080 ,koko端口为2222,koko端口可以自定义修改,ssh登录的时候使用自定义修改的端口即可。

$ cd /data/docker-compose
$ docker-compose ps

[root@jumpserver docker-compose]# docker-compose ps
    Name              Command          State           Ports         
---------------------------------------------------------------------
jms_core        ./entrypoint.sh        Up      0.0.0.0:8080->8080/tcp
jms_guacamole   ./entrypoint.sh        Up                            
jms_koko        ./entrypoint.sh        Up      0.0.0.0:2222->2222/tcp
jms_mysql       ./entrypoint.sh        Up                            
jms_nginx       nginx -g daemon off;   Up      0.0.0.0:80->80/tcp    
jms_redis       ./entrypoint.sh        Up                          

此时在另外一台服务器部署koko组件。
官网文档中使用的是docker部署,我修改为通过docker-compose部署。
服务器初始化文件可以参考以上脚本,按照需要修改,实际需要docker和docker-compose环境即可。
docker-compose.yml文件如下,请按照实际情况和需要来修改

version: '2'
services: 
  koko:
    image: wojiushixiaobai/jms_koko:1.5.6
    ports:
      - 2223:2222
    environment: 
      CORE_HOST: http://192.168.1.123:8080
      BOOTSTRAP_TOKEN: ******************
    container_name: jms_koko1

在这个文件中我将koko的端口映射为2223-->2222,即ssh 登录的时候ssh -p 2223 admin@IP 即可,环境变量CORE_HOST处修改为你jumpserver服务器部署处的主机IP的8080端口,之前我特意添加并映射过8080端口,环境变量 BOOTSTRAP_TOKEN处修改为你自己的token,此处token在你部署jumpserver处的Git仓库的.env文件中,请按照需要自行修改。
当文件修改完之后就可以启动了。

$ docker-compose up -d
$ docker-compose ps 

docker-compose ps查看服务运行状态。
如果服务正常启动我们可以通过ssh连接测试是否部署成功。
1,连接jumpserver服务器所在的koko,端口是2222

ssh -p 2222 admin@IP

2, 连接另一台服务器的koko,端口是2223

ssh -p 2223 admin@IP

输入密码后如果出现以下界面即部署成功。

                Administrator,  欢迎使用Jumpserver开源堡垒机系统

        1) 输入 部分IP、主机名、备注 进行搜索登录(如果唯一).
        2) 输入 / + IP,主机名 or 备注 进行搜索,如:/192.168.
        3) 输入 p 进行显示您有权限的主机.
        4) 输入 g 进行显示您有权限的节点.
        5) 输入 d 进行显示您有权限的数据库.
        6) 输入 r 进行刷新最新的机器和节点信息.
        7) 输入 h 进行显示帮助.
        8) 输入 q 进行退出.
Opt>

web端登录需要访问jumpserver服务器的80端口,用户名密码都是admin。

提示:服务器的相关端口要打开,如80,8080,2222,2223.

你可能感兴趣的:(centos7下jumpserver部署,多个koko组件分布式部署。)