JumpServer 是全球首款开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 规范的运维安全审计系统。
JumpServer 使用 Python / Django 为主进行开发,遵循 Web 2.0 规范,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。
JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向扩展,无资产数量及并发限制。
改变世界,从一点点开始。
在官网有安装文档,有兴趣的朋友可以直接根据官网文档进行操作:
极速部署是最快捷的。
文档地址:
https://docs.jumpserver.org/zh/master/
下面根据网上一个写的特别详细的帖子给大家分享一下部署的步骤,文末有参考链接。
192.168.99.101 jumpserver 2c-4G
192.168.99.102 数据库/Redis 2C-2G
192.168.99.103 web 服务器 A 1C-1G
192.168.99.104 web 服务器 B 1C-1G
docker load -i mysql-5.6.44.tar.gz
将容器中的 MySQL 配置文件在宿主机通过-v 挂载到容器中
mkdir -p /etc/mysql/mysql.conf.d
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
## This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#log-error = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8
mkdir -p /etc/mysql/conf.d/
vim /etc/mysql/conf.d/mysql.cnf
[mysql]
default-character-set=utf8
数据保存在宿主机, 实现数据与容器分离,当容器运行异常时也可以在启动一个新的容器直接使用宿主机的数据,从而保证业务的正产运行。
mkdir /data/mysql -p
docker run -it -d -p 3306:3306 \
-v /etc/mysql/mysql.conf.d/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /etc/mysql/conf.d/mysql.cnf:/etc/mysql/conf.d/mysql.cnf \
-v /data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD="123" \
mysql:5.6.44
apt install mysql-client
mysql -uroot -p123 -h192.168.99.22
mysql> show variables like "%character%";
mysql> show variables like "%collation%";
mysql> create database jumpserver default charset 'utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'%' identified by 'abc123';
启动数据库授权密码不能为纯数字, 负责报错如下
mysql -ujumpserver -pabc123 -h192.168.99.22
docker pull redis:4.0.14
docker run -it -d -p 6379:6379 redis:4.0.14
apt install redis
redis-cli -h 192.168.99.22
docker pull jumpserver/jms_all:1.4.8
#或已经下载镜像后导入
docker load -i jumpserver-jms_all_1.4.8.tar.gz
# 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
cZPi5K3utSGiwpK786wbrdZl7UqP0KzfszPBF3NqoATelylqzJ
# 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
yaOz6fQzY0R8vIta
docker run --name jms_all \
-v /opt/jumpserver:/opt/jumpserver/data/media \
-p 80:80 \
-p 2222:2222 \
-e SECRET_KEY=cZPi5K3utSGiwpK786wbrdZl7UqP0KzfszPBF3NqoATelylqzJ \
-e BOOTSTRAP_TOKEN=yaOz6fQzY0R8vIta \
-e DB_HOST=192.168.99.22 \
-e DB_PORT=3306 \
-e DB_USER='jumpserver' \
-e DB_PASSWORD="abc123" \
-e DB_NAME=jumpserver \
-e REDIS_HOST=192.168.99.22 \
-e REDIS_PORT=6379 \
-e REDIS_PASSWORD= \
jumpserver/jms_all:1.4.8
登录 web。默认账户 admin,密码 admin
用户管理–用户列表界面,管理创建用户,用户相当于是公司的运维人员
Multi-Factor Authentication (MFA) 遵循基于时间的一次性密码
资产管理–管理用户界面,创建系统用户, 此用户用于推送到后端服务器自动创建, 如果此账户已经存在于后端服务器则不会再重新创建, 而是直接使用, 后期jumpserver 的普通账户(zhangxiaoming)会使用此账户登陆并管理资产信息(服务器),推荐的账户名称: mysql nginx tomcat www
资产管理–系统用户界面, 创建管理用户, 该管理用户用于 jumpserver 登陆服务器统计资产信息以及推送系统用户的时候使用, 所以此用户一定是一个可以登录的具备超级权限的用户(如后端服务器的 root 账户或者具有 root 权限的其他用户)。
资产就是物理机 虚拟机等
点击主机名进入,测试资产可连接性
会话管理-命令记录、历史会话里面可以看到用户操作过并且已经退出的录像记录。
使用 jumpserver 普通账户登录,并测试后端服务器的连接与使用
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。