1、jumpserver基本设置
目录
收起
[root@node02 ~]# cat /etc/yum.repos.d/mariadb.repo[mariadb]name=mariadb repobaseurl=https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.1.46/yum/centos/7/x86_64/gpgcheck=0[root@node02 ~]#
安装MariaDB-server[root@node02 ~]# yum install -y MariaDB-server
配置mariadb 忽略名称解析[root@node02 ~]# mysqlWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 3Server version: 10.1.46-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database jumpserver default charset 'utf8' collate 'utf8_bin';Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'admin123.com';Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges;Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]>
验证:使用jumpserver登录数据库[root@node02 ~]# mysql -ujumpserver -padmin123.com -h192.168.0.42Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 4Server version: 10.1.46-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases;+--------------------+| Database |+--------------------+| information_schema || jumpserver || test |+--------------------+3 rows in set (0.01 sec) MariaDB [(none)]> exitBye[root@node02 ~]#
ok,到此数据服务就准备好了;2、在node02上部署redis安装redis[root@node02 ~]# yum -y install redis
配置redis监听本机所有地址,并设置密码[root@node02 ~]# grep -Ei "^(bind|requirepass)" /etc/redis.confbind 0.0.0.0requirepass admin123.com[root@node02 ~]#
启动redis[root@node02 ~]# redis-cli -h 192.168.0.42192.168.0.42:6379> KEYS *(error) NOAUTH Authentication required.192.168.0.42:6379> AUTH admin123.comOK192.168.0.42:6379> KEYS *(empty list or set)192.168.0.42:6379> exit[root@node02 ~]#
到此redis就准备好了3、在node01上部署jumpserver web 容器配置docker-ce的yum源[root@node01 ~]# cat /etc/yum.repos.d/docker-ce.repo[docker-ce-stable]name=Docker CE Stable - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stableenabled=1gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-debuginfo]name=Docker CE Stable - Debuginfo $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/stableenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-stable-source]name=Docker CE Stable - Sourcesbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/stableenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge]name=Docker CE Edge - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/edgeenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge-debuginfo]name=Docker CE Edge - Debuginfo $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/edgeenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-edge-source]name=Docker CE Edge - Sourcesbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/edgeenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test]name=Docker CE Test - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/testenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-debuginfo]name=Docker CE Test - Debuginfo $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/testenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-test-source]name=Docker CE Test - Sourcesbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/testenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly]name=Docker CE Nightly - $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/nightlyenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-debuginfo]name=Docker CE Nightly - Debuginfo $basearchbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/nightlyenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg [docker-ce-nightly-source]name=Docker CE Nightly - Sourcesbaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/nightlyenabled=0gpgcheck=1gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg[root@node01 ~]#
安装docker-ce[root@node01 ~]# yum install -y docker-ce
启动docker[root@node01 ~]# systemctl start docker[root@node01 ~]# docker infoClient: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 19.03.13 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 3.10.0-693.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 1.781GiB Name: node01.test.org ID: JQY2:LCCM:EU6J:ARI7:UCEL:5HUV:FGE4:6RTY:PWR3:NKJI:EA3K:BKSA Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false [root@node01 ~]#
配置docker加速器[root@node01 ~]# cat /etc/docker/daemon.json{ "registry-mirrors": ["https://registry.docker-cn.com","https://cyr1uljt.mirror.aliyuncs.com"]}[root@node01 ~]#
重启docker[root@node01 ~]# systemctl restart docker
使用doker info 命令验证加速器地址是否应用[root@node01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE[root@node01 ~]# docker pull jumpserver/jms_all:v2.4.0v2.4.0: Pulling from jumpserver/jms_all75f829a71a1c: Pull completef9c494d6df5d: Pull complete5135b4193f02: Pull complete918e815b1dc8: Pull complete0334369c4479: Pull complete64a0f2a7663a: Pull completeDigest: sha256:2081c88eca6dffb41bc42d8fe06d18c4379eacdbb354fa56dffd2a918738274dStatus: Downloaded newer image for jumpserver/jms_all:v2.4.0docker.io/jumpserver/jms_all:v2.4.0[root@node01 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEjumpserver/jms_all v2.4.0 3418bbaaded1 9 days ago 1.54GB[root@node01 ~]#
编写生成SECRET_KEY和``BOOTSTRAP_TOKEN的脚本``[root@node01 ~]# cat key_gen.sh#!/bin/bashif [ ! "$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[root@node01 ~]#
提示:上面脚本主要是判断是否有SECRET_KEY和BOOTSTRAP这两个key,如果没有就生成,并把SECRET_KEY保存到SECRET_KEY并放到当前家目录的.bashrc中,并打印出来,如果有就直接打印出来;运行脚本生成SECRET_KEY和``BOOTSTRAP_TOKEN``[root@node01 ~]# bash key_gen.shwIUaeZtCbtTNUDL9igEIImALjjaMo9ygPwfMWmPZcyWD0c3K9QLx15DW9xDxqOkiCq[root@node01 ~]#
提示:这两个随机密钥很重要,它用来加密数据库字段用的,所以在环境迁移和升级都会用到这两个key;创建用户保存jumpserver容器中的数据目录[root@node01 ~]# mkdir /data/jumpserver/ -pvmkdir: created directory ‘/data’mkdir: created directory ‘/data/jumpserver/’[root@node01 ~]#
启动jumpserver/jms_all:v2.4.0镜像为容器[root@node01 ~]# docker run --name jms_all -d \> -v /data/jumpserver/:/opt/jumpserver/data \> -p 80:80 \> -p 2222:2222 \> -e SECRET_KEY=wIUaeZtCbtTNUDL9igEIImALjjaMo9ygPwfMWmPZcyWD0c3K9Q \> -e BOOTSTRAP_TOKEN=Lx15DW9xDxqOkiCq \> -e DB_HOST=192.168.0.42 \> -e DB_PORT=3306 \> -e DB_USER=jumpserver \> -e DB_PASSWORD=admin123.com \> -e DB_NAME=jumpserver \> -e REDIS_HOST=192.168.0.42 \> -e REDIS_PORT=6379 \> -e REDIS_PASSWORD=admin123.com \> --privileged=true \> jumpserver/jms_all:v2.4.08974115a714c5000bac47a8a457190408861ad1967429435ad4f6a0b838c2fe3[root@node01 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8974115a714c jumpserver/jms_all:v2.4.0 "./entrypoint.sh" 14 seconds ago Up 12 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:2222->2222/tcp jms_all[root@node01 ~]# ss -tnlState Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::2222 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* [root@node01 ~]#
提示:以上启动容器主要指定了mariadb和redis服务器的相关地址和密码端口信息;其中在宿主机上暴露了80和2222端口;查看日志推送系统用户
、获取资产硬件信息
等。6、创建系统用户,这里的系统用户是指我们使用jumpserver登录到对应的被管控主机时用的用户